Module Smaws_Client_ConfigService

Config Service client library built on EIO.

Types

type validation_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

The requested action is not valid.

For PutStoredQuery, you will see this exception if there are missing required fields or if the input value fails the validation, or if you are trying to create more than 300 queries.

For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this exception if there are missing required fields or if the input value fails the validation.

type untag_resource_request = {
  1. tag_keys : string list;
    (*

    The keys of the tags to be removed.

    *)
  2. resource_arn : string;
    (*

    The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

    *)
}
type resource_not_found_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have specified a resource that does not exist.

type resource_type =
  1. | SSMDocument
  2. | Route53ResolverFirewallRuleGroup
  3. | RedshiftEndpointAccess
  4. | RDSOptionGroup
  5. | QuickSightTheme
  6. | QuickSightTemplate
  7. | QuickSightDataSource
  8. | M2Environment
  9. | KMSAlias
  10. | ImageBuilderImageRecipe
  11. | GroundStationDataflowEndpointGroup
  12. | GrafanaWorkspace
  13. | EC2NetworkInsightsAnalysis
  14. | EC2NetworkInsightsAccessScope
  15. | CognitoUserPoolGroup
  16. | CognitoUserPoolClient
  17. | CognitoUserPool
  18. | AppStreamFleet
  19. | ResourceExplorer2Index
  20. | NetworkManagerConnectPeer
  21. | LambdaCodeSigningConfig
  22. | KafkaConnectConnector
  23. | IoTTwinMakerSyncJob
  24. | IoTCACertificate
  25. | IAMInstanceProfile
  26. | ECSCapacityProvider
  27. | EC2TransitGatewayMulticastDomain
  28. | EC2TransitGatewayConnect
  29. | EC2IPAMPool
  30. | EC2CarrierGateway
  31. | ConnectQuickConnect
  32. | ConnectInstance
  33. | AppMeshMesh
  34. | AppMeshGatewayRoute
  35. | ACMPCACertificateAuthorityActivation
  36. | BatchSchedulingPolicy
  37. | Route53ResolverResolverQueryLoggingConfig
  38. | CodeGuruProfilerProfilingGroup
  39. | APSRuleGroupsNamespace
  40. | MediaConnectFlowSource
  41. | TransferCertificate
  42. | ServiceDiscoveryInstance
  43. | Route53ResolverResolverQueryLoggingConfigAssociation
  44. | InspectorV2Filter
  45. | IoTProvisioningTemplate
  46. | IoTWirelessFuotaTask
  47. | IoTJobTemplate
  48. | AppStreamStack
  49. | MSKBatchScramSecret
  50. | SageMakerFeatureGroup
  51. | CodeBuildReportGroup
  52. | IoTTwinMakerComponentType
  53. | PersonalizeDatasetGroup
  54. | IoTWirelessMulticastGroup
  55. | NetworkManagerLinkAssociation
  56. | NetworkManagerCustomerGatewayAssociation
  57. | S3AccessPoint
  58. | PinpointEmailChannel
  59. | LogsDestination
  60. | KinesisVideoStream
  61. | KendraIndex
  62. | EC2ClientVpnEndpoint
  63. | EC2CapacityReservation
  64. | DMSEndpoint
  65. | CustomerProfilesObjectType
  66. | AppRunnerService
  67. | AppMeshVirtualRouter
  68. | AppMeshVirtualGateway
  69. | AppConfigHostedConfigurationVersion
  70. | ACMPCACertificateAuthority
  71. | ResilienceHubApp
  72. | PinpointEventStream
  73. | PinpointEmailTemplate
  74. | PersonalizeSolution
  75. | PersonalizeSchema
  76. | PersonalizeDataset
  77. | MSKConfiguration
  78. | MediaTailorPlaybackConfiguration
  79. | MediaConnectFlowVpcInterface
  80. | MediaConnectFlowEntitlement
  81. | GroundStationMissionProfile
  82. | GreengrassV2ComponentVersion
  83. | ForecastDatasetGroup
  84. | EvidentlyLaunch
  85. | EC2IPAMScope
  86. | AthenaPreparedStatement
  87. | AppMeshRoute
  88. | AppIntegrationsEventIntegration
  89. | AmplifyBranch
  90. | KinesisFirehoseDeliveryStream
  91. | TransferConnector
  92. | TransferAgreement
  93. | SageMakerDomain
  94. | PinpointInAppTemplate
  95. | PinpointCampaign
  96. | IAMServerCertificate
  97. | IAMSAMLProvider
  98. | ForecastDataset
  99. | EvidentlyProject
  100. | EC2SpotFleet
  101. | EC2PrefixList
  102. | CodeArtifactRepository
  103. | AppStreamApplication
  104. | AppRunnerVpcConnector
  105. | AppMeshVirtualService
  106. | AppMeshVirtualNode
  107. | AmplifyApp
  108. | SignerSigningProfile
  109. | CassandraKeyspace
  110. | ECSTaskSet
  111. | SageMakerImage
  112. | SageMakerAppImageConfig
  113. | Route53ResolverFirewallRuleGroupAssociation
  114. | RedshiftScheduledAction
  115. | PinpointApp
  116. | PanoramaPackage
  117. | NetworkManagerSite
  118. | NetworkManagerGlobalNetwork
  119. | NetworkManagerDevice
  120. | IoTWirelessServiceProfile
  121. | IoTFleetMetric
  122. | ImageBuilderImagePipeline
  123. | GroundStationConfig
  124. | ECRPullThroughCacheRule
  125. | EC2SubnetRouteTableAssociation
  126. | EC2EC2Fleet
  127. | DeviceFarmProject
  128. | DeviceFarmInstanceProfile
  129. | CloudWatchMetricStream
  130. | AuditManagerAssessment
  131. | AppFlowFlow
  132. | AppConfigDeploymentStrategy
  133. | ConnectPhoneNumber
  134. | AutoScalingWarmPool
  135. | CustomerProfilesDomain
  136. | NetworkManagerTransitGatewayRegistration
  137. | IoTTwinMakerScene
  138. | EC2IPAM
  139. | EC2TrafficMirrorFilter
  140. | EC2NetworkInsightsPath
  141. | EC2DHCPOptions
  142. | EventsRule
  143. | PinpointApplicationSettings
  144. | PinpointSegment
  145. | HealthLakeFHIRDatastore
  146. | RoboMakerRobotApplication
  147. | RoboMakerSimulationApplication
  148. | Route53RecoveryReadinessResourceSet
  149. | Route53RecoveryControlRoutingControl
  150. | Route53RecoveryControlControlPanel
  151. | Route53RecoveryControlSafetyRule
  152. | Route53RecoveryControlCluster
  153. | LookoutVisionProject
  154. | AppStreamDirectoryConfig
  155. | KinesisVideoSignalingChannel
  156. | MediaPackagePackagingConfiguration
  157. | EventSchemasSchema
  158. | EventsConnection
  159. | IoTScheduledAudit
  160. | S3StorageLens
  161. | EC2TrafficMirrorTarget
  162. | IoTAccountAuditConfiguration
  163. | LookoutMetricsAlert
  164. | LexBotAlias
  165. | IoTSiteWiseGateway
  166. | EC2TrafficMirrorSession
  167. | RoboMakerRobotApplicationVersion
  168. | Route53ResolverFirewallDomainList
  169. | IoTCustomMetric
  170. | CodeGuruReviewerRepositoryAssociation
  171. | LexBot
  172. | BudgetsBudgetsAction
  173. | DeviceFarmTestGridProject
  174. | S3MultiRegionAccessPoint
  175. | RDSGlobalCluster
  176. | KinesisAnalyticsV2Application
  177. | IVSPlaybackKeyPair
  178. | IVSRecordingConfiguration
  179. | IVSChannel
  180. | IoTSiteWiseAssetModel
  181. | IoTSiteWisePortal
  182. | IoTSiteWiseProject
  183. | IoTSiteWiseDashboard
  184. | IoTAnalyticsChannel
  185. | IoTAnalyticsPipeline
  186. | IoTAnalyticsDataset
  187. | IoTTwinMakerEntity
  188. | IoTTwinMakerWorkspace
  189. | IoTMitigationAction
  190. | IoTPolicy
  191. | GlueMLTransform
  192. | EKSAddon
  193. | EKSIdentityProviderConfig
  194. | TransferWorkflow
  195. | ResilienceHubResiliencyPolicy
  196. | Route53RecoveryReadinessRecoveryGroup
  197. | MediaPackagePackagingGroup
  198. | LightsailStaticIp
  199. | LightsailBucket
  200. | IoTAnalyticsDatastore
  201. | IoTDimension
  202. | IoTRoleAlias
  203. | IoTSecurityProfile
  204. | IoTAuthorizer
  205. | FraudDetectorOutcome
  206. | FraudDetectorVariable
  207. | FraudDetectorEntityType
  208. | FraudDetectorLabel
  209. | EventSchemasDiscoverer
  210. | EventSchemasRegistryPolicy
  211. | EventSchemasRegistry
  212. | Cloud9EnvironmentEC2
  213. | AppConfigConfigurationProfile
  214. | AppConfigEnvironment
  215. | AmazonMQBroker
  216. | SESTemplate
  217. | GuardDutyFilter
  218. | SESReceiptFilter
  219. | DataSyncLocationFSxWindows
  220. | FISExperimentTemplate
  221. | LightsailDisk
  222. | EventsApiDestination
  223. | EventsArchive
  224. | SESReceiptRuleSet
  225. | EventsEndpoint
  226. | RUMAppMonitor
  227. | LightsailCertificate
  228. | BackupReportPlan
  229. | ECRRegistryPolicy
  230. | Route53RecoveryReadinessReadinessCheck
  231. | Route53RecoveryReadinessCell
  232. | GlueClassifier
  233. | DataSyncLocationHDFS
  234. | DataSyncLocationObjectStorage
  235. | ImageBuilderInfrastructureConfiguration
  236. | ImageBuilderDistributionConfiguration
  237. | ImageBuilderContainerRecipe
  238. | EventsEventBus
  239. | ServiceDiscoveryHttpNamespace
  240. | IoTEventsAlarmModel
  241. | IoTEventsDetectorModel
  242. | IoTEventsInput
  243. | Route53HostedZone
  244. | SESConfigurationSet
  245. | SESContactList
  246. | ServiceDiscoveryPublicDnsNamespace
  247. | ServiceDiscoveryService
  248. | SageMakerNotebookInstanceLifecycleConfig
  249. | SageMakerWorkteam
  250. | GuardDutyIPSet
  251. | GuardDutyThreatIntelSet
  252. | GlueJob
  253. | EKSFargateProfile
  254. | NetworkInsightsAccessScopeAnalysis
  255. | DataSyncLocationNFS
  256. | DataSyncTask
  257. | DataSyncLocationEFS
  258. | DataSyncLocationS3
  259. | DataSyncLocationFSxLustre
  260. | DataSyncLocationSMB
  261. | AppSyncGraphQLApi
  262. | AppConfigApplication
  263. | DMSCertificate
  264. | TransitGatewayRouteTable
  265. | TransitGatewayAttachment
  266. | GlobalAcceleratorListener
  267. | GlobalAcceleratorEndpointGroup
  268. | GlobalAcceleratorAccelerator
  269. | DetectiveGraph
  270. | AthenaDataCatalog
  271. | AthenaWorkGroup
  272. | AccessAnalyzerAnalyzer
  273. | BatchComputeEnvironment
  274. | BatchJobQueue
  275. | StepFunctionsStateMachine
  276. | ListenerV2
  277. | SageMakerModel
  278. | WorkSpacesConnectionAlias
  279. | WorkSpacesWorkspace
  280. | StepFunctionsActivity
  281. | MSKCluster
  282. | DMSEventSubscription
  283. | DMSReplicationSubnetGroup
  284. | Route53ResolverResolverRuleAssociation
  285. | Route53ResolverResolverRule
  286. | Route53ResolverResolverEndpoint
  287. | SageMakerCodeRepository
  288. | EMRSecurityConfiguration
  289. | GuardDutyDetector
  290. | ECRPublicRepository
  291. | LaunchTemplate
  292. | CodeDeployDeploymentGroup
  293. | CodeDeployDeploymentConfig
  294. | CodeDeployApplication
  295. | KinesisStreamConsumer
  296. | KinesisStream
  297. | TransitGateway
  298. | OpenSearchDomain
  299. | EKSCluster
  300. | EFSFileSystem
  301. | EFSAccessPoint
  302. | ECSTaskDefinition
  303. | ECSService
  304. | ECSCluster
  305. | ECRRepository
  306. | BackupRecoveryPoint
  307. | BackupVault
  308. | BackupSelection
  309. | BackupPlan
  310. | FileData
  311. | Topic
  312. | Secret
  313. | QLDBLedger
  314. | Key
  315. | Queue
  316. | Portfolio
  317. | CloudFormationProduct
  318. | CloudFormationProvisionedProduct
  319. | Pipeline
  320. | Api
  321. | StageV2
  322. | RestApi
  323. | Stage
  324. | ResourceCompliance
  325. | ConformancePackCompliance
  326. | RegionalProtection
  327. | Protection
  328. | PatchCompliance
  329. | AssociationCompliance
  330. | EncryptionConfig
  331. | ManagedRuleSetV2
  332. | RegexPatternSetV2
  333. | IPSetV2
  334. | RuleGroupV2
  335. | WebACLV2
  336. | Environment
  337. | ApplicationVersion
  338. | Application
  339. | NetworkFirewallRuleGroup
  340. | NetworkFirewallFirewallPolicy
  341. | NetworkFirewallFirewall
  342. | Function
  343. | StreamingDistribution
  344. | Distribution
  345. | RegionalWebACL
  346. | RegionalRuleGroup
  347. | RegionalRule
  348. | RegionalRateBasedRule
  349. | WebACL
  350. | RuleGroup
  351. | Rule
  352. | RateBasedRule
  353. | Project
  354. | Table
  355. | ScheduledAction
  356. | ScalingPolicy
  357. | LaunchConfiguration
  358. | AutoScalingGroup
  359. | LoadBalancer
  360. | Stack
  361. | Alarm
  362. | ManagedInstanceInventory
  363. | RedshiftEventSubscription
  364. | ClusterSubnetGroup
  365. | ClusterSecurityGroup
  366. | ClusterParameterGroup
  367. | ClusterSnapshot
  368. | Cluster
  369. | AccountPublicAccessBlock
  370. | Bucket
  371. | EventSubscription
  372. | DBClusterSnapshot
  373. | DBCluster
  374. | DBSnapshot
  375. | DBSecurityGroup
  376. | DBSubnetGroup
  377. | DBInstance
  378. | Certificate
  379. | LoadBalancerV2
  380. | User
  381. | Role
  382. | Policy
  383. | Group
  384. | Domain
  385. | VPCPeeringConnection
  386. | FlowLog
  387. | VPCEndpointService
  388. | VPCEndpoint
  389. | EgressOnlyInternetGateway
  390. | NatGateway
  391. | RegisteredHAInstance
  392. | VPNGateway
  393. | VPNConnection
  394. | VPC
  395. | Volume
  396. | Trail
  397. | Subnet
  398. | SecurityGroup
  399. | RouteTable
  400. | NetworkInterface
  401. | NetworkAcl
  402. | InternetGateway
  403. | Instance
  404. | Host
  405. | EIP
  406. | CustomerGateway
type aggregate_resource_identifier = {
  1. resource_name : string option;
    (*

    The name of the Amazon Web Services resource.

    *)
  2. resource_type : resource_type;
    (*

    The type of the Amazon Web Services resource.

    *)
  3. resource_id : string;
    (*

    The ID of the Amazon Web Services resource.

    *)
  4. source_region : string;
    (*

    The source region where data is aggregated.

    *)
  5. source_account_id : string;
    (*

    The 12-digit account ID of the source account.

    *)
}

The details that identify a resource that is collected by Config aggregator, including the resource type, ID, (if available) the custom resource name, the source account, and source region.

type too_many_tags_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have reached the limit of the number of tags you can use. For more information, see Service Limits in the Config Developer Guide.

type time_window = {
  1. end_time : float option;
    (*

    The end time of an execution. The end time must be after the start date.

    *)
  2. start_time : float option;
    (*

    The start time of an execution.

    *)
}

Filters evaluation results based on start and end times.

type template_ssm_document_details = {
  1. document_version : string option;
    (*

    The version of the SSM document to use to create a conformance pack. By default, Config uses the latest version.

    This field is optional.

    *)
  2. document_name : string;
    (*

    The name or Amazon Resource Name (ARN) of the SSM document to use to create a conformance pack. If you use the document name, Config checks only your account and Amazon Web Services Region for the SSM document.

    *)
}

This API allows you to create a conformance pack template with an Amazon Web Services Systems Manager document (SSM document). To deploy a conformance pack using an SSM document, first create an SSM document with conformance pack content, and then provide the DocumentName in the PutConformancePack API. You can also provide the DocumentVersion.

The TemplateSSMDocumentDetails object contains the name of the SSM document and the version of the SSM document.

type tag = {
  1. value : string option;
    (*

    The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

    *)
  2. key : string option;
    (*

    One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

    *)
}

The tags for the resource. The metadata that you apply to a resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have a maximum length of 256 characters.

type tag_resource_request = {
  1. tags : tag list;
    (*

    An array of tag object.

    *)
  2. resource_arn : string;
    (*

    The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

    *)
}
type stored_query_metadata = {
  1. description : string option;
    (*

    A unique description for the query.

    *)
  2. query_name : string;
    (*

    The name of the query.

    *)
  3. query_arn : string;
    (*

    Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id.

    *)
  4. query_id : string;
    (*

    The ID of the query.

    *)
}

Returns details of a specific query.

type stored_query = {
  1. expression : string option;
    (*

    The expression of the query. For example, SELECT resourceId, resourceType, supplementaryConfiguration.BucketVersioningConfiguration.status WHERE resourceType = 'AWS::S3::Bucket' AND supplementaryConfiguration.BucketVersioningConfiguration.status = 'Off'.

    *)
  2. description : string option;
    (*

    A unique description for the query.

    *)
  3. query_name : string;
    (*

    The name of the query.

    *)
  4. query_arn : string option;
    (*

    Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id.

    *)
  5. query_id : string option;
    (*

    The ID of the query.

    *)
}

Provides the details of a stored query.

type stop_configuration_recorder_request = {
  1. configuration_recorder_name : string;
    (*

    The name of the recorder object that records each configuration change made to the resources.

    *)
}

The input for the StopConfigurationRecorder action.

type no_such_configuration_recorder_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have specified a configuration recorder that does not exist.

type member_account_rule_status =
  1. | UPDATE_FAILED
  2. | UPDATE_IN_PROGRESS
  3. | UPDATE_SUCCESSFUL
  4. | DELETE_IN_PROGRESS
  5. | DELETE_FAILED
  6. | DELETE_SUCCESSFUL
  7. | CREATE_FAILED
  8. | CREATE_IN_PROGRESS
  9. | CREATE_SUCCESSFUL
type status_detail_filters = {
  1. member_account_rule_status : member_account_rule_status option;
    (*

    Indicates deployment status for Config rule in the member account. When management account calls PutOrganizationConfigRule action for the first time, Config rule status is created in the member account. When management account calls PutOrganizationConfigRule action for the second time, Config rule status is updated in the member account. Config rule status is deleted when the management account deletes OrganizationConfigRule and disables service access for config-multiaccountsetup.amazonaws.com.

    Config sets the state of the rule to:

    • CREATE_SUCCESSFUL when Config rule has been created in the member account.
    • CREATE_IN_PROGRESS when Config rule is being created in the member account.
    • CREATE_FAILED when Config rule creation has failed in the member account.
    • DELETE_FAILED when Config rule deletion has failed in the member account.
    • DELETE_IN_PROGRESS when Config rule is being deleted in the member account.
    • DELETE_SUCCESSFUL when Config rule has been deleted in the member account.
    • UPDATE_SUCCESSFUL when Config rule has been updated in the member account.
    • UPDATE_IN_PROGRESS when Config rule is being updated in the member account.
    • UPDATE_FAILED when Config rule deletion has failed in the member account.
    *)
  2. account_id : string option;
    (*

    The 12-digit account ID of the member account within an organization.

    *)
}

Status filter object to filter results based on specific member account ID or status type for an organization Config rule.

type static_value = {
  1. values : string list;
    (*

    A list of values. For example, the ARN of the assumed role.

    *)
}

The static value of the resource.

type start_resource_evaluation_response = {
  1. resource_evaluation_id : string option;
    (*

    A unique ResourceEvaluationId that is associated with a single execution.

    *)
}
type resource_configuration_schema_type =
  1. | CFN_RESOURCE_SCHEMA
type resource_details = {
  1. resource_configuration_schema_type : resource_configuration_schema_type option;
    (*

    The schema type of the resource configuration.

    You can find the Resource type schema, or CFN_RESOURCE_SCHEMA, in "Amazon Web Services public extensions" within the CloudFormation registry or with the following CLI commmand: aws cloudformation describe-type --type-name "AWS::S3::Bucket" --type RESOURCE.

    For more information, see Managing extensions through the CloudFormation registry and Amazon Web Services resource and property types reference in the CloudFormation User Guide.

    *)
  2. resource_configuration : string;
    (*

    The resource definition to be evaluated as per the resource configuration schema type.

    *)
  3. resource_type : string;
    (*

    The type of resource being evaluated.

    *)
  4. resource_id : string;
    (*

    A unique resource ID for an evaluation.

    *)
}

Returns information about the resource being evaluated.

type evaluation_context = {
  1. evaluation_context_identifier : string option;
    (*

    A unique EvaluationContextIdentifier ID for an EvaluationContext.

    *)
}

Use EvaluationContext to group independently initiated proactive resource evaluations. For example, CFN Stack. If you want to check just a resource definition, you do not need to provide evaluation context.

type evaluation_mode =
  1. | PROACTIVE
  2. | DETECTIVE
type start_resource_evaluation_request = {
  1. client_token : string option;
    (*

    A client token is a unique, case-sensitive string of up to 64 ASCII characters. To make an idempotent API request using one of these actions, specify a client token in the request.

    Avoid reusing the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, other than the Region or Availability Zone, the retry fails with an IdempotentParameterMismatch error.

    *)
  2. evaluation_timeout : int option;
    (*

    The timeout for an evaluation. The default is 900 seconds. You cannot specify a number greater than 3600. If you specify 0, Config uses the default.

    *)
  3. evaluation_mode : evaluation_mode;
    (*

    The mode of an evaluation. The valid values for this API are DETECTIVE and PROACTIVE.

    *)
  4. evaluation_context : evaluation_context option;
    (*

    Returns an EvaluationContext object.

    *)
  5. resource_details : resource_details;
    (*

    Returns a ResourceDetails object.

    *)
}
type invalid_parameter_value_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

One or more of the specified parameters are not valid. Verify that your parameters are valid and try again.

type idempotent_parameter_mismatch = {
  1. message : string option;
}

Using the same client token with one or more different parameters. Specify a new client token with the parameter changes and try again.

type resource_key = {
  1. resource_id : string;
    (*

    The ID of the resource (for example., sg-xxxxxx).

    *)
  2. resource_type : resource_type;
    (*

    The resource type.

    *)
}

The details that identify a resource within Config, including the resource type and resource ID.

type start_remediation_execution_response = {
  1. failed_items : resource_key list option;
    (*

    For resources that have failed to start execution, the API returns a resource key object.

    *)
  2. failure_message : string option;
    (*

    Returns a failure message. For example, the resource is already compliant.

    *)
}
type start_remediation_execution_request = {
  1. resource_keys : resource_key list;
    (*

    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.

    *)
  2. config_rule_name : string;
    (*

    The list of names of Config rules that you want to run remediation execution for.

    *)
}
type no_such_remediation_configuration_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You specified an Config rule without a remediation configuration.

type insufficient_permissions_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

Indicates one of the following errors:

  • For PutConfigRule, the rule cannot be created because the IAM role assigned to Config lacks permissions to perform the config:Put* action.
  • For PutConfigRule, the Lambda function cannot be invoked. Check the function ARN, and check the function's permissions.
  • For PutOrganizationConfigRule, organization Config rule cannot be created because you do not have permissions to call IAM GetRole action or create a service-linked role.
  • For PutConformancePack and PutOrganizationConformancePack, a conformance pack cannot be created because you do not have the following permissions:

    • You do not have permission to call IAM GetRole action or create a service-linked role.
    • You do not have permission to read Amazon S3 bucket or call SSM:GetDocument.
type start_configuration_recorder_request = {
  1. configuration_recorder_name : string;
    (*

    The name of the recorder object that records each configuration change made to the resources.

    *)
}

The input for the StartConfigurationRecorder action.

type no_available_delivery_channel_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

There is no delivery channel available to record configurations.

type start_config_rules_evaluation_response = unit

The output when you start the evaluation for the specified Config rule.

type start_config_rules_evaluation_request = {
  1. config_rule_names : string list option;
    (*

    The list of names of Config rules that you want to run evaluations for.

    *)
}
type resource_in_use_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You see this exception in the following cases:

  • For DeleteConfigRule, Config is deleting this rule. Try your request again later.
  • For DeleteConfigRule, the rule is deleting your evaluation results. Try your request again later.
  • For DeleteConfigRule, a remediation action is associated with the rule and Config cannot delete this rule. Delete the remediation action associated with the rule before deleting the rule and try your request again later.
  • For PutConfigOrganizationRule, organization Config rule deletion is in progress. Try your request again later.
  • For DeleteOrganizationConfigRule, organization Config rule creation is in progress. Try your request again later.
  • For PutConformancePack and PutOrganizationConformancePack, a conformance pack creation, update, and deletion is in progress. Try your request again later.
  • For DeleteConformancePack, a conformance pack creation, update, and deletion is in progress. Try your request again later.
type no_such_config_rule_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

The Config rule in the request is not valid. Verify that the rule is an Config Process Check rule, that the rule name is correct, and that valid Amazon Resouce Names (ARNs) are used before trying again.

type limit_exceeded_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

For StartConfigRulesEvaluation API, this exception is thrown if an evaluation is in progress or if you call the StartConfigRulesEvaluation API more than once per minute.

For PutConfigurationAggregator API, this exception is thrown if the number of accounts and aggregators exceeds the limit.

type invalid_next_token_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

The specified next token is not valid. Specify the nextToken string that was returned in the previous response to get the next page of results.

type invalid_limit_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

The specified limit is outside the allowable range.

type invalid_expression_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

The syntax of the query is incorrect.

type field_info = {
  1. name : string option;
    (*

    Name of the field.

    *)
}

Details about the fields such as name of the field.

type query_info = {
  1. select_fields : field_info list option;
    (*

    Returns a FieldInfo object.

    *)
}

Details about the query.

type select_resource_config_response = {
  1. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
  2. query_info : query_info option;
    (*

    Returns the QueryInfo object.

    *)
  3. results : string list option;
    (*

    Returns the results for the SQL query.

    *)
}
type select_resource_config_request = {
  1. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of query results returned on each page.

    *)
  3. expression : string;
    (*

    The SQL query SELECT command.

    *)
}
type no_such_configuration_aggregator_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have specified a configuration aggregator that does not exist.

type select_aggregate_resource_config_response = {
  1. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
  2. query_info : query_info option;
  3. results : string list option;
    (*

    Returns the results for the SQL query.

    *)
}
type select_aggregate_resource_config_request = {
  1. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
  2. max_results : int option;
    (*

    The maximum number of query results returned on each page. Config also allows the Limit request parameter.

    *)
  3. limit : int option;
    (*

    The maximum number of query results returned on each page.

    *)
  4. configuration_aggregator_name : string;
    (*

    The name of the configuration aggregator.

    *)
  5. expression : string;
    (*

    The SQL query SELECT command.

    *)
}
type resource_concurrent_modification_exception = {
  1. message : string option;
}

Two users are trying to modify the same query at the same time. Wait for a moment and try again.

type put_stored_query_response = {
  1. query_arn : string option;
    (*

    Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id.

    *)
}
type put_stored_query_request = {
  1. tags : tag list option;
    (*

    A list of Tags object.

    *)
  2. stored_query : stored_query;
    (*

    A list of StoredQuery objects. The mandatory fields are QueryName and Expression.

    When you are creating a query, you must provide a query name and an expression. When you are updating a query, you must provide a query name but updating the description is optional.

    *)
}
type max_number_of_retention_configurations_exceeded_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

Failed to add the retention configuration because a retention configuration with that name already exists.

type retention_configuration = {
  1. retention_period_in_days : int;
    (*

    Number of days Config stores your historical information.

    Currently, only applicable to the configuration item history.

    *)
  2. name : string;
    (*

    The name of the retention configuration object.

    *)
}

An object with the name of the retention configuration and the retention period in days. The object stores the configuration for data retention in Config.

type put_retention_configuration_response = {
  1. retention_configuration : retention_configuration option;
    (*

    Returns a retention configuration object.

    *)
}
type put_retention_configuration_request = {
  1. retention_period_in_days : int;
    (*

    Number of days Config stores your historical information.

    Currently, only applicable to the configuration item history.

    *)
}
type no_running_configuration_recorder_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

There is no configuration recorder running.

type max_active_resources_exceeded_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have reached the limit of active custom resource types in your account. There is a limit of 100,000. Delete unused resources using DeleteResourceConfig .

type put_resource_config_request = {
  1. tags : (string * string) list option;
    (*

    Tags associated with the resource.

    This field is not to be confused with the Amazon Web Services-wide tag feature for Amazon Web Services resources. Tags for PutResourceConfig are tags that you supply for the configuration items of your custom resources.

    *)
  2. configuration : string;
    (*

    The configuration object of the resource in valid JSON format. It must match the schema registered with CloudFormation.

    The configuration JSON must not exceed 64 KB.

    *)
  3. resource_name : string option;
    (*

    Name of the resource.

    *)
  4. resource_id : string;
    (*

    Unique identifier of the resource.

    *)
  5. schema_version_id : string;
    (*

    Version of the schema registered for the ResourceType in CloudFormation.

    *)
  6. resource_type : string;
    (*

    The type of the resource. The custom resource type must be registered with CloudFormation.

    You cannot use the organization names “amzn”, “amazon”, “alexa”, “custom” with custom resource types. It is the first part of the ResourceType up to the first ::.

    *)
}
type remediation_exception = {
  1. expiration_time : float option;
    (*

    The time when the remediation exception will be deleted.

    *)
  2. message : string option;
    (*

    An explanation of an remediation exception.

    *)
  3. resource_id : string;
    (*

    The ID of the resource (for example., sg-xxxxxx).

    *)
  4. resource_type : string;
    (*

    The type of a resource.

    *)
  5. config_rule_name : string;
    (*

    The name of the Config rule.

    *)
}

An object that represents the details about the remediation exception. The details include the rule name, an explanation of an exception, the time when the exception will be deleted, the resource ID, and resource type.

type failed_remediation_exception_batch = {
  1. failed_items : remediation_exception list option;
    (*

    Returns remediation exception resource key object of the failed items.

    *)
  2. failure_message : string option;
    (*

    Returns a failure message. For example, the auto-remediation has failed.

    *)
}

List of each of the failed remediation exceptions with specific reasons.

type put_remediation_exceptions_response = {
  1. failed_batches : failed_remediation_exception_batch list option;
    (*

    Returns a list of failed remediation exceptions batch objects. Each object in the batch consists of a list of failed items and failure messages.

    *)
}
type remediation_exception_resource_key = {
  1. resource_id : string option;
    (*

    The ID of the resource (for example., sg-xxxxxx).

    *)
  2. resource_type : string option;
    (*

    The type of a resource.

    *)
}

The details that identify a resource within Config, including the resource type and resource ID.

type put_remediation_exceptions_request = {
  1. expiration_time : float option;
    (*

    The exception is automatically deleted after the expiration date.

    *)
  2. message : string option;
    (*

    The message contains an explanation of the exception.

    *)
  3. resource_keys : remediation_exception_resource_key list;
    (*

    An exception list of resource exception keys to be processed with the current request. Config adds exception for each resource key. For example, Config adds 3 exceptions for 3 resource keys.

    *)
  4. config_rule_name : string;
    (*

    The name of the Config rule for which you want to create remediation exception.

    *)
}
type remediation_target_type =
  1. | SSM_DOCUMENT
type resource_value_type =
  1. | RESOURCE_ID
type resource_value = {
  1. value : resource_value_type;
    (*

    The value is a resource ID.

    *)
}

The dynamic value of the resource.

type remediation_parameter_value = {
  1. static_value : static_value option;
    (*

    The value is static and does not change at run-time.

    *)
  2. resource_value : resource_value option;
    (*

    The value is dynamic and changes at run-time.

    *)
}

The value is either a dynamic (resource) value or a static value. You must select either a dynamic value or a static value.

type ssm_controls = {
  1. error_percentage : int option;
    (*

    The percentage of errors that are allowed before SSM stops running automations on non-compliant resources for that specific rule. You can specify a percentage of errors, for example 10%. If you do not specifiy a percentage, the default is 50%. For example, if you set the ErrorPercentage to 40% for 10 non-compliant resources, then SSM stops running the automations when the fifth error is received.

    *)
  2. concurrent_execution_rate_percentage : int option;
    (*

    The maximum percentage of remediation actions allowed to run in parallel on the non-compliant resources for that specific rule. You can specify a percentage, such as 10%. The default value is 10.

    *)
}

Amazon Web Services Systems Manager (SSM) specific remediation controls.

type execution_controls = {
  1. ssm_controls : ssm_controls option;
    (*

    A SsmControls object.

    *)
}

The controls that Config uses for executing remediations.

type remediation_configuration = {
  1. created_by_service : string option;
    (*

    Name of the service that owns the service-linked rule, if applicable.

    *)
  2. arn : string option;
    (*

    Amazon Resource Name (ARN) of remediation configuration.

    *)
  3. retry_attempt_seconds : int option;
    (*

    Time window to determine whether or not to add a remediation exception to prevent infinite remediation attempts. If MaximumAutomaticAttempts remediation attempts have been made under RetryAttemptSeconds, a remediation exception will be added to the resource. If you do not select a number, the default is 60 seconds.

    For example, if you specify RetryAttemptSeconds as 50 seconds and MaximumAutomaticAttempts as 5, Config will run auto-remediations 5 times within 50 seconds before adding a remediation exception to the resource.

    *)
  4. maximum_automatic_attempts : int option;
    (*

    The maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.

    For example, if you specify MaximumAutomaticAttempts as 5 with RetryAttemptSeconds as 50 seconds, Config will put a RemediationException on your behalf for the failing resource after the 5th failed attempt within 50 seconds.

    *)
  5. execution_controls : execution_controls option;
    (*

    An ExecutionControls object.

    *)
  6. automatic : bool option;
    (*

    The remediation is triggered automatically.

    *)
  7. resource_type : string option;
    (*

    The type of a resource.

    *)
  8. parameters : (string * remediation_parameter_value) list option;
    (*

    An object of the RemediationParameterValue.

    *)
  9. target_version : string option;
    (*

    Version of the target. For example, version of the SSM document.

    If you make backward incompatible changes to the SSM document, you must call PutRemediationConfiguration API again to ensure the remediations can run.

    *)
  10. target_id : string;
    (*

    Target ID is the name of the SSM document.

    *)
  11. target_type : remediation_target_type;
    (*

    The type of the target. Target executes remediation. For example, SSM document.

    *)
  12. config_rule_name : string;
    (*

    The name of the Config rule.

    *)
}

An object that represents the details about the remediation configuration that includes the remediation action, parameters, and data to execute the action.

type failed_remediation_batch = {
  1. failed_items : remediation_configuration list option;
    (*

    Returns remediation configurations of the failed items.

    *)
  2. failure_message : string option;
    (*

    Returns a failure message. For example, the resource is already compliant.

    *)
}

List of each of the failed remediations with specific reasons.

type put_remediation_configurations_response = {
  1. failed_batches : failed_remediation_batch list option;
    (*

    Returns a list of failed remediation batch objects.

    *)
}
type put_remediation_configurations_request = {
  1. remediation_configurations : remediation_configuration list;
    (*

    A list of remediation configuration objects.

    *)
}
type organization_conformance_pack_template_validation_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have specified a template that is not valid or supported.

type organization_all_features_not_enabled_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

Config resource cannot be created because your organization does not have all features enabled.

type organization_access_denied_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

For PutConfigurationAggregator API, you can see this exception for the following reasons:

  • No permission to call EnableAWSServiceAccess API
  • The configuration aggregator cannot be updated because your Amazon Web Services Organization management account or the delegated administrator role changed. Delete this aggregator and create a new one with the current Amazon Web Services Organization.
  • The configuration aggregator is associated with a previous Amazon Web Services Organization and Config cannot aggregate data with current Amazon Web Services Organization. Delete this aggregator and create a new one with the current Amazon Web Services Organization.
  • You are not a registered delegated administrator for Config with permissions to call ListDelegatedAdministrators API. Ensure that the management account registers delagated administrator for Config service principle name before the delegated administrator creates an aggregator.

For all OrganizationConfigRule and OrganizationConformancePack APIs, Config throws an exception if APIs are called from member accounts. All APIs must be called from organization management account.

type no_available_organization_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

Organization is no longer available.

type max_number_of_organization_conformance_packs_exceeded_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have reached the limit of the number of organization conformance packs you can create in an account. For more information, see Service Limits in the Config Developer Guide.

type put_organization_conformance_pack_response = {
  1. organization_conformance_pack_arn : string option;
    (*

    ARN of the organization conformance pack.

    *)
}
type conformance_pack_input_parameter = {
  1. parameter_value : string;
    (*

    Another part of the key-value pair.

    *)
  2. parameter_name : string;
    (*

    One part of a key-value pair.

    *)
}

Input parameters in the form of key-value pairs for the conformance pack, both of which you define. Keys can have a maximum character length of 255 characters, and values can have a maximum length of 4096 characters.

type put_organization_conformance_pack_request = {
  1. excluded_accounts : string list option;
    (*

    A list of Amazon Web Services accounts to be excluded from an organization conformance pack while deploying a conformance pack.

    *)
  2. conformance_pack_input_parameters : conformance_pack_input_parameter list option;
    (*

    A list of ConformancePackInputParameter objects.

    *)
  3. delivery_s3_key_prefix : string option;
    (*

    The prefix for the Amazon S3 bucket.

    This field is optional.

    *)
  4. delivery_s3_bucket : string option;
    (*

    The name of the Amazon S3 bucket where Config stores conformance pack templates.

    This field is optional. If used, it must be prefixed with awsconfigconforms.

    *)
  5. template_body : string option;
    (*

    A string containing full conformance pack template body. Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes.

    *)
  6. template_s3_uri : string option;
    (*

    Location of file containing the template body. The uri must point to the conformance pack template (max size: 300 KB).

    You must have access to read Amazon S3 bucket. In addition, in order to ensure a successful deployment, the template object must not be in an archived storage class if this parameter is passed.

    *)
  7. organization_conformance_pack_name : string;
    (*

    Name of the organization conformance pack you want to create.

    *)
}
type max_number_of_organization_config_rules_exceeded_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have reached the limit of the number of organization Config rules you can create. For more information, see see Service Limits in the Config Developer Guide.

type put_organization_config_rule_response = {
  1. organization_config_rule_arn : string option;
    (*

    The Amazon Resource Name (ARN) of an organization Config rule.

    *)
}
type maximum_execution_frequency =
  1. | TwentyFour_Hours
  2. | Twelve_Hours
  3. | Six_Hours
  4. | Three_Hours
  5. | One_Hour
type organization_managed_rule_metadata = {
  1. tag_value_scope : string option;
    (*

    The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

    *)
  2. tag_key_scope : string option;
    (*

    One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

    *)
  3. resource_id_scope : string option;
    (*

    The ID of the Amazon Web Services resource that was evaluated.

    *)
  4. resource_types_scope : string list option;
    (*

    The type of the Amazon Web Services resource that was evaluated.

    *)
  5. maximum_execution_frequency : maximum_execution_frequency option;
    (*

    The maximum frequency with which Config runs evaluations for a rule. This is for an Config managed rule that is triggered at a periodic frequency.

    By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

    *)
  6. input_parameters : string option;
    (*

    A string, in JSON format, that is passed to your organization Config rule Lambda function.

    *)
  7. rule_identifier : string;
    (*

    For organization config managed rules, a predefined identifier from a list. For example, IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see Using Config managed rules.

    *)
  8. description : string option;
    (*

    The description that you provide for your organization Config rule.

    *)
}

An object that specifies organization managed rule metadata such as resource type and ID of Amazon Web Services resource along with the rule identifier. It also provides the frequency with which you want Config to run evaluations for the rule if the trigger type is periodic.

type organization_config_rule_trigger_type =
  1. | SCHEDULED_NOTIFICATION
  2. | OVERSIZED_CONFIGURATION_ITEM_CHANGE_NOTIFCATION
  3. | CONFIGURATION_ITEM_CHANGE_NOTIFICATION
type organization_custom_rule_metadata = {
  1. tag_value_scope : string option;
    (*

    The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

    *)
  2. tag_key_scope : string option;
    (*

    One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

    *)
  3. resource_id_scope : string option;
    (*

    The ID of the Amazon Web Services resource that was evaluated.

    *)
  4. resource_types_scope : string list option;
    (*

    The type of the Amazon Web Services resource that was evaluated.

    *)
  5. maximum_execution_frequency : maximum_execution_frequency option;
    (*

    The maximum frequency with which Config runs evaluations for a rule. Your custom rule is triggered when Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

    By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

    *)
  6. input_parameters : string option;
    (*

    A string, in JSON format, that is passed to your organization Config rule Lambda function.

    *)
  7. organization_config_rule_trigger_types : organization_config_rule_trigger_type list;
    (*

    The type of notification that triggers Config to run an evaluation for a rule. You can specify the following notification types:

    • ConfigurationItemChangeNotification - Triggers an evaluation when Config delivers a configuration item as a result of a resource change.
    • OversizedConfigurationItemChangeNotification - Triggers an evaluation when Config delivers an oversized configuration item. Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.
    • ScheduledNotification - Triggers a periodic evaluation at the frequency specified for MaximumExecutionFrequency.
    *)
  8. lambda_function_arn : string;
    (*

    The lambda function ARN.

    *)
  9. description : string option;
    (*

    The description that you provide for your organization Config rule.

    *)
}

An object that specifies organization custom rule metadata such as resource type, resource ID of Amazon Web Services resource, Lambda function ARN, and organization trigger types that trigger Config to evaluate your Amazon Web Services resources against a rule. It also provides the frequency with which you want Config to run evaluations for the rule if the trigger type is periodic.

type organization_config_rule_trigger_type_no_s_n =
  1. | OVERSIZED_CONFIGURATION_ITEM_CHANGE_NOTIFCATION
  2. | CONFIGURATION_ITEM_CHANGE_NOTIFICATION
type organization_custom_policy_rule_metadata = {
  1. debug_log_delivery_accounts : string list option;
    (*

    A list of accounts that you can enable debug logging for your organization Config Custom Policy rule. List is null when debug logging is enabled for all accounts.

    *)
  2. policy_text : string;
    (*

    The policy definition containing the logic for your organization Config Custom Policy rule.

    *)
  3. policy_runtime : string;
    (*

    The runtime system for your organization Config Custom Policy rules. Guard is a policy-as-code language that allows you to write policies that are enforced by Config Custom Policy rules. For more information about Guard, see the Guard GitHub Repository.

    *)
  4. tag_value_scope : string option;
    (*

    The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

    *)
  5. tag_key_scope : string option;
    (*

    One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

    *)
  6. resource_id_scope : string option;
    (*

    The ID of the Amazon Web Services resource that was evaluated.

    *)
  7. resource_types_scope : string list option;
    (*

    The type of the Amazon Web Services resource that was evaluated.

    *)
  8. maximum_execution_frequency : maximum_execution_frequency option;
    (*

    The maximum frequency with which Config runs evaluations for a rule. Your Config Custom Policy rule is triggered when Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

    *)
  9. input_parameters : string option;
    (*

    A string, in JSON format, that is passed to your organization Config Custom Policy rule.

    *)
  10. organization_config_rule_trigger_types : organization_config_rule_trigger_type_no_s_n list option;
    (*

    The type of notification that initiates Config to run an evaluation for a rule. For Config Custom Policy rules, Config supports change-initiated notification types:

    • ConfigurationItemChangeNotification - Initiates an evaluation when Config delivers a configuration item as a result of a resource change.
    • OversizedConfigurationItemChangeNotification - Initiates an evaluation when Config delivers an oversized configuration item. Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.
    *)
  11. description : string option;
    (*

    The description that you provide for your organization Config Custom Policy rule.

    *)
}

An object that specifies metadata for your organization's Config Custom Policy rule. The metadata includes the runtime system in use, which accounts have debug logging enabled, and other custom rule metadata, such as resource type, resource ID of Amazon Web Services resource, and organization trigger types that initiate Config to evaluate Amazon Web Services resources against a rule.

type put_organization_config_rule_request = {
  1. organization_custom_policy_rule_metadata : organization_custom_policy_rule_metadata option;
    (*

    An OrganizationCustomPolicyRuleMetadata object. This object specifies metadata for your organization's Config Custom Policy rule. The metadata includes the runtime system in use, which accounts have debug logging enabled, and other custom rule metadata, such as resource type, resource ID of Amazon Web Services resource, and organization trigger types that initiate Config to evaluate Amazon Web Services resources against a rule.

    *)
  2. excluded_accounts : string list option;
    (*

    A comma-separated list of accounts that you want to exclude from an organization Config rule.

    *)
  3. organization_custom_rule_metadata : organization_custom_rule_metadata option;
    (*

    An OrganizationCustomRuleMetadata object. This object specifies organization custom rule metadata such as resource type, resource ID of Amazon Web Services resource, Lambda function ARN, and organization trigger types that trigger Config to evaluate your Amazon Web Services resources against a rule. It also provides the frequency with which you want Config to run evaluations for the rule if the trigger type is periodic.

    *)
  4. organization_managed_rule_metadata : organization_managed_rule_metadata option;
    (*

    An OrganizationManagedRuleMetadata object. This object specifies organization managed rule metadata such as resource type and ID of Amazon Web Services resource along with the rule identifier. It also provides the frequency with which you want Config to run evaluations for the rule if the trigger type is periodic.

    *)
  5. organization_config_rule_name : string;
    (*

    The name that you assign to an organization Config rule.

    *)
}
type put_external_evaluation_response = unit
type compliance_type =
  1. | Insufficient_Data
  2. | Not_Applicable
  3. | Non_Compliant
  4. | Compliant
type external_evaluation = {
  1. ordering_timestamp : float;
    (*

    The time when the compliance was recorded.

    *)
  2. annotation : string option;
    (*

    Supplementary information about the reason of compliance. For example, this task was completed on a specific date.

    *)
  3. compliance_type : compliance_type;
    (*

    The compliance of the Amazon Web Services resource. The valid values are COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE.

    *)
  4. compliance_resource_id : string;
    (*

    The evaluated compliance resource ID. Config accepts only Amazon Web Services account ID.

    *)
  5. compliance_resource_type : string;
    (*

    The evaluated compliance resource type. Config accepts AWS::::Account resource type.

    *)
}

Identifies an Amazon Web Services resource and indicates whether it complies with the Config rule that it was evaluated against.

type put_external_evaluation_request = {
  1. external_evaluation : external_evaluation;
    (*

    An ExternalEvaluation object that provides details about compliance.

    *)
  2. config_rule_name : string;
    (*

    The name of the Config rule.

    *)
}
type invalid_result_token_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

The specified ResultToken is not valid.

type evaluation = {
  1. ordering_timestamp : float;
    (*

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

    *)
  2. annotation : string option;
    (*

    Supplementary information about how the evaluation determined the compliance.

    *)
  3. compliance_type : compliance_type;
    (*

    Indicates whether the Amazon Web Services resource complies with the Config rule that it was evaluated against.

    For the Evaluation data type, Config supports only the COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE values. Config does not support the INSUFFICIENT_DATA value for this data type.

    Similarly, Config does not accept INSUFFICIENT_DATA as the value for ComplianceType from a PutEvaluations request. For example, an Lambda function for a custom Config rule cannot pass an INSUFFICIENT_DATA value to Config.

    *)
  4. compliance_resource_id : string;
    (*

    The ID of the Amazon Web Services resource that was evaluated.

    *)
  5. compliance_resource_type : string;
    (*

    The type of Amazon Web Services resource that was evaluated.

    *)
}

Identifies an Amazon Web Services resource and indicates whether it complies with the Config rule that it was evaluated against.

type put_evaluations_response = {
  1. failed_evaluations : evaluation list option;
    (*

    Requests that failed because of a client or server error.

    *)
}
type put_evaluations_request = {
  1. test_mode : bool option;
    (*

    Use this parameter to specify a test run for PutEvaluations. You can verify whether your Lambda function will deliver evaluation results to Config. No updates occur to your existing evaluations, and evaluation results are not sent to Config.

    When TestMode is true, PutEvaluations doesn't require a valid value for the ResultToken parameter, but the value cannot be null.

    *)
  2. result_token : string;
    (*

    An encrypted token that associates an evaluation with an Config rule. Identifies the rule and the event that triggered the evaluation.

    *)
  3. evaluations : evaluation list option;
    (*

    The assessments that the Lambda function performs. Each evaluation identifies an Amazon Web Services resource and indicates whether it complies with the Config rule that invokes the Lambda function.

    *)
}
type no_such_bucket_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

The specified Amazon S3 bucket does not exist.

type no_available_configuration_recorder_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

There are no configuration recorders available to provide the role needed to describe your resources. Create a configuration recorder.

type max_number_of_delivery_channels_exceeded_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have reached the limit of the number of delivery channels you can create.

type invalid_sns_topic_arn_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

The specified Amazon SNS topic does not exist.

type invalid_s3_kms_key_arn_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

The specified Amazon KMS Key ARN is not valid.

type invalid_s3_key_prefix_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

The specified Amazon S3 key prefix is not valid.

type invalid_delivery_channel_name_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

The specified delivery channel name is not valid.

type insufficient_delivery_policy_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

Your Amazon S3 bucket policy does not permit Config to write to it.

type config_snapshot_delivery_properties = {
  1. delivery_frequency : maximum_execution_frequency option;
    (*

    The frequency with which Config delivers configuration snapshots.

    *)
}

Provides options for how often 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 Config delivers the configuration snapshot is set by one of two values, depending on which is less frequent:

  • The value for the deliveryFrequency parameter within the delivery channel configuration, which sets how often Config delivers configuration snapshots. This value also sets how often Config invokes evaluations for Config rules.
  • The value for the MaximumExecutionFrequency parameter, which sets the maximum frequency with which Config invokes evaluations for the rule. For more information, see ConfigRule.

If the deliveryFrequency value is less frequent than the MaximumExecutionFrequency value for a rule, Config invokes the rule only as often as the deliveryFrequency value.

  1. For example, you want your rule to run evaluations when Config delivers the configuration snapshot.
  2. You specify the MaximumExecutionFrequency value for Six_Hours.
  3. You then specify the delivery channel deliveryFrequency value for TwentyFour_Hours.
  4. Because the value for deliveryFrequency is less frequent than MaximumExecutionFrequency, Config invokes evaluations for the rule every 24 hours.

You should set the MaximumExecutionFrequency value to be at least as frequent as the deliveryFrequency value. You can view the deliveryFrequency value by using the DescribeDeliveryChannnels action.

To update the deliveryFrequency with which Config delivers your configuration snapshots, use the PutDeliveryChannel action.

type delivery_channel = {
  1. config_snapshot_delivery_properties : config_snapshot_delivery_properties option;
    (*

    The options for how often Config delivers configuration snapshots to the Amazon S3 bucket.

    *)
  2. sns_topic_ar_n : string option;
    (*

    The Amazon Resource Name (ARN) of the Amazon SNS topic to which Config sends notifications about configuration changes.

    If you choose a topic from another account, the topic must have policies that grant access permissions to Config. For more information, see Permissions for the Amazon SNS Topic in the Config Developer Guide.

    *)
  3. s3_kms_key_arn : string option;
    (*

    The Amazon Resource Name (ARN) of the Key Management Service (KMS ) KMS key (KMS key) used to encrypt objects delivered by Config. Must belong to the same Region as the destination S3 bucket.

    *)
  4. s3_key_prefix : string option;
    (*

    The prefix for the specified Amazon S3 bucket.

    *)
  5. s3_bucket_name : string option;
    (*

    The name of the Amazon S3 bucket to which Config delivers configuration snapshots and configuration history files.

    If you specify a bucket that belongs to another Amazon Web Services account, that bucket must have policies that grant access permissions to Config. For more information, see Permissions for the Amazon S3 Bucket in the Config Developer Guide.

    *)
  6. name : string option;
    (*

    The name of the delivery channel. By default, 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.

    *)
}

The channel through which Config delivers notifications and updated configuration states.

type put_delivery_channel_request = {
  1. delivery_channel : delivery_channel;
    (*

    The configuration delivery channel object that delivers the configuration information to an Amazon S3 bucket and to an Amazon SNS topic.

    *)
}

The input for the PutDeliveryChannel action.

type max_number_of_conformance_packs_exceeded_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have reached the limit of the number of conformance packs you can create in an account. For more information, see Service Limits in the Config Developer Guide.

type conformance_pack_template_validation_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have specified a template that is not valid or supported.

type put_conformance_pack_response = {
  1. conformance_pack_arn : string option;
    (*

    ARN of the conformance pack.

    *)
}
type put_conformance_pack_request = {
  1. template_ssm_document_details : template_ssm_document_details option;
    (*

    An object of type TemplateSSMDocumentDetails, which contains the name or the Amazon Resource Name (ARN) of the Amazon Web Services Systems Manager document (SSM document) and the version of the SSM document that is used to create a conformance pack.

    *)
  2. conformance_pack_input_parameters : conformance_pack_input_parameter list option;
    (*

    A list of ConformancePackInputParameter objects.

    *)
  3. delivery_s3_key_prefix : string option;
    (*

    The prefix for the Amazon S3 bucket.

    This field is optional.

    *)
  4. delivery_s3_bucket : string option;
    (*

    The name of the Amazon S3 bucket where Config stores conformance pack templates.

    This field is optional.

    *)
  5. template_body : string option;
    (*

    A string containing the full conformance pack template body. The structure containing the template body has a minimum length of 1 byte and a maximum length of 51,200 bytes.

    You can use a YAML template with two resource types: Config rule (AWS::Config::ConfigRule) and remediation action (AWS::Config::RemediationConfiguration).

    *)
  6. template_s3_uri : string option;
    (*

    The location of the file containing the template body (s3://bucketname/prefix). The uri must point to a conformance pack template (max size: 300 KB) that is located in an Amazon S3 bucket in the same Region as the conformance pack.

    You must have access to read Amazon S3 bucket. In addition, in order to ensure a successful deployment, the template object must not be in an archived storage class if this parameter is passed.

    *)
  7. conformance_pack_name : string;
    (*

    The unique name of the conformance pack you want to deploy.

    *)
}
type max_number_of_configuration_recorders_exceeded_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have reached the limit of the number of configuration recorders you can create.

type invalid_role_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have provided a null or empty Amazon Resource Name (ARN) for the IAM role assumed by Config and used by the configuration recorder.

type invalid_recording_group_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

Indicates one of the following errors:

  • You have provided a combination of parameter values that is not valid. For example:

  • Every parameter is either null, false, or empty.
  • You have reached the limit of the number of resource types you can provide for the recording group.
  • You have provided resource types or a recording strategy that are not valid.
type invalid_configuration_recorder_name_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have provided a name for the configuration recorder that is not valid.

type exclusion_by_resource_types = {
  1. resource_types : resource_type list option;
    (*

    A comma-separated list of resource types to exclude from recording by the configuration recorder.

    *)
}

Specifies whether the configuration recorder excludes certain resource types from being recorded. Use the resourceTypes field to enter a comma-separated list of resource types you want to exclude from recording.

By default, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

How to use the exclusion recording strategy

To use this option, you must set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

Config will then record configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded.

Global resource types and the exclusion recording strategy

Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

  • Asia Pacific (Hyderabad)
  • Asia Pacific (Melbourne)
  • Canada West (Calgary)
  • Europe (Spain)
  • Europe (Zurich)
  • Israel (Tel Aviv)
  • Middle East (UAE)
type recording_strategy_type =
  1. | EXCLUSION_BY_RESOURCE_TYPES
  2. | INCLUSION_BY_RESOURCE_TYPES
  3. | ALL_SUPPORTED_RESOURCE_TYPES
type recording_strategy = {
  1. use_only : recording_strategy_type option;
    (*

    The recording strategy for the configuration recorder.

    • If you set this option to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the allSupported field of RecordingGroup to true. When Config adds support for a new resource type, Config automatically starts recording resources of that type. For a list of supported resource types, see Supported Resource Types in the Config developer guide.
    • If you set this option to INCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for only the resource types that you specify in the resourceTypes field of RecordingGroup.
    • If you set this option to EXCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded in the resourceTypes field of ExclusionByResourceTypes.

    Required and optional fields

    The recordingStrategy field is optional when you set the allSupported field of RecordingGroup to true.

    The recordingStrategy field is optional when you list resource types in the resourceTypes field of RecordingGroup.

    The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

    Overriding fields

    If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

    For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

    Global resource types and the exclusion recording strategy

    By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

    Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

    IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

    • Asia Pacific (Hyderabad)
    • Asia Pacific (Melbourne)
    • Canada West (Calgary)
    • Europe (Spain)
    • Europe (Zurich)
    • Israel (Tel Aviv)
    • Middle East (UAE)
    *)
}

Specifies the recording strategy of the configuration recorder.

type recording_group = {
  1. recording_strategy : recording_strategy option;
    (*

    An object that specifies the recording strategy for the configuration recorder.

    • If you set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES, Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the allSupported field of RecordingGroup to true. When Config adds support for a new resource type, Config automatically starts recording resources of that type.
    • If you set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for only the resource types you specify in the resourceTypes field of RecordingGroup.
    • If you set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES, Config records configuration changes for all supported resource types except the resource types that you specify to exclude from being recorded in the resourceTypes field of ExclusionByResourceTypes.

    Required and optional fields

    The recordingStrategy field is optional when you set the allSupported field of RecordingGroup to true.

    The recordingStrategy field is optional when you list resource types in the resourceTypes field of RecordingGroup.

    The recordingStrategy field is required if you list resource types to exclude from recording in the resourceTypes field of ExclusionByResourceTypes.

    Overriding fields

    If you choose EXCLUSION_BY_RESOURCE_TYPES for the recording strategy, the exclusionByResourceTypes field will override other properties in the request.

    For example, even if you set includeGlobalResourceTypes to false, global IAM resource types will still be automatically recorded in this option unless those resource types are specifically listed as exclusions in the resourceTypes field of exclusionByResourceTypes.

    Global resources types and the resource exclusion recording strategy

    By default, if you choose the EXCLUSION_BY_RESOURCE_TYPES recording strategy, when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types, Config starts recording resources of that type automatically.

    Unless specifically listed as exclusions, AWS::RDS::GlobalCluster will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.

    IAM users, groups, roles, and customer managed policies will be recorded in the Region where you set up the configuration recorder if that is a Region where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

    • Asia Pacific (Hyderabad)
    • Asia Pacific (Melbourne)
    • Canada West (Calgary)
    • Europe (Spain)
    • Europe (Zurich)
    • Israel (Tel Aviv)
    • Middle East (UAE)
    *)
  2. exclusion_by_resource_types : exclusion_by_resource_types option;
    (*

    An object that specifies how Config excludes resource types from being recorded by the configuration recorder.

    Required fields

    To use this option, you must set the useOnly field of RecordingStrategy to EXCLUSION_BY_RESOURCE_TYPES.

    *)
  3. resource_types : resource_type list option;
    (*

    A comma-separated list that specifies which resource types Config records.

    For a list of valid resourceTypes values, see the Resource Type Value column in Supported Amazon Web Services resource Types in the Config developer guide.

    Required and optional fields

    Optionally, you can set the useOnly field of RecordingStrategy to INCLUSION_BY_RESOURCE_TYPES.

    To record all configuration changes, set the allSupported field of RecordingGroup to true, and either omit this field or don't specify any resource types in this field. If you set the allSupported field to false and specify values for resourceTypes, when 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.

    Region availability

    Before specifying a resource type for Config to track, check Resource Coverage by Region Availability to see if the resource type is supported in the Amazon Web Services Region where you set up Config. If a resource type is supported by Config in at least one Region, you can enable the recording of that resource type in all Regions supported by Config, even if the specified resource type is not supported in the Amazon Web Services Region where you set up Config.

    *)
  4. include_global_resource_types : bool option;
    (*

    This option is a bundle which only applies to the global IAM resource types: IAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded by Config in Regions where Config was available before February 2022. You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. This list where you cannot record the global IAM resource types includes the following Regions:

    • Asia Pacific (Hyderabad)
    • Asia Pacific (Melbourne)
    • Canada West (Calgary)
    • Europe (Spain)
    • Europe (Zurich)
    • Israel (Tel Aviv)
    • Middle East (UAE)

    Aurora global clusters are recorded in all enabled Regions

    The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled, even if includeGlobalResourceTypes is setfalse. The includeGlobalResourceTypes option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.

    If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use one of the following recording strategies:

    1. Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or
    2. Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

    For more information, see Selecting Which Resources are Recorded in the Config developer guide.

    includeGlobalResourceTypes and the exclusion recording strategy

    The includeGlobalResourceTypes field has no impact on the EXCLUSION_BY_RESOURCE_TYPES recording strategy. This means that the global IAM resource types (IAM users, groups, roles, and customer managed policies) will not be automatically added as exclusions for exclusionByResourceTypes when includeGlobalResourceTypes is set to false.

    The includeGlobalResourceTypes field should only be used to modify the AllSupported field, as the default for the AllSupported field is to record configuration changes for all supported resource types excluding the global IAM resource types. To include the global IAM resource types when AllSupported is set to true, make sure to set includeGlobalResourceTypes to true.

    To exclude the global IAM resource types for the EXCLUSION_BY_RESOURCE_TYPES recording strategy, you need to manually add them to the resourceTypes field of exclusionByResourceTypes.

    Required and optional fields

    Before you set this field to true, set the allSupported field of RecordingGroup to true. Optionally, you can set the useOnly field of RecordingStrategy to ALL_SUPPORTED_RESOURCE_TYPES.

    Overriding fields

    If you set this field to false but list global IAM resource types in the resourceTypes field of RecordingGroup, Config will still record configuration changes for those specified resource types regardless of if you set the includeGlobalResourceTypes field to false.

    If you do not want to record configuration changes to the global IAM resource types (IAM users, groups, roles, and customer managed policies), make sure to not list them in the resourceTypes field in addition to setting the includeGlobalResourceTypes field to false.

    *)
  5. all_supported : bool option;
    (*

    Specifies whether Config records configuration changes for all supported resource types, excluding the global IAM resource types.

    If you set this field to true, when Config adds support for a new resource type, Config starts recording resources of that type automatically.

    If you set this field to true, you cannot enumerate specific resource types to record in the resourceTypes field of RecordingGroup, or to exclude in the resourceTypes field of ExclusionByResourceTypes.

    Region availability

    Check Resource Coverage by Region Availability to see if a resource type is supported in the Amazon Web Services Region where you set up Config.

    *)
}

Specifies which resource types Config records for configuration changes. By default, Config records configuration changes for all current and future supported resource types in the Amazon Web Services Region where you have enabled Config, excluding the global IAM resource types: IAM users, groups, roles, and customer managed policies.

In the recording group, you specify whether you want to record all supported current and future supported resource types or to include or exclude specific resources types. For a list of supported resource types, see Supported Resource Types in the Config developer guide.

If you don't want Config to record all current and future supported resource types (excluding the global IAM resource types), use one of the following recording strategies:

  1. Record all current and future resource types with exclusions (EXCLUSION_BY_RESOURCE_TYPES), or
  2. Record specific resource types (INCLUSION_BY_RESOURCE_TYPES).

If you use the recording strategy to Record all current and future resource types (ALL_SUPPORTED_RESOURCE_TYPES), you can use the flag includeGlobalResourceTypes to include the global IAM resource types in your recording.

Aurora global clusters are recorded in all enabled Regions

The AWS::RDS::GlobalCluster resource type will be recorded in all supported Config Regions where the configuration recorder is enabled.

If you do not want to record AWS::RDS::GlobalCluster in all enabled Regions, use the EXCLUSION_BY_RESOURCE_TYPES or INCLUSION_BY_RESOURCE_TYPES recording strategy.

type recording_frequency =
  1. | DAILY
  2. | CONTINUOUS
type recording_mode_override = {
  1. recording_frequency : recording_frequency;
    (*

    The recording frequency that will be applied to all the resource types specified in the override.

    • Continuous recording allows you to record configuration changes continuously whenever a change occurs.
    • Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it’s different from the previous CI recorded.

    Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.

    *)
  2. resource_types : resource_type list;
    (*

    A comma-separated list that specifies which resource types Config includes in the override.

    Daily recording is not supported for the following resource types:

    • AWS::Config::ResourceCompliance
    • AWS::Config::ConformancePackCompliance
    • AWS::Config::ConfigurationRecorder
    *)
  3. description : string option;
    (*

    A description that you provide for the override.

    *)
}

An object for you to specify your overrides for the recording mode.

type recording_mode = {
  1. recording_mode_overrides : recording_mode_override list option;
    (*

    An array of recordingModeOverride objects for you to specify your overrides for the recording mode. The recordingModeOverride object in the recordingModeOverrides array consists of three fields: a description, the new recordingFrequency, and an array of resourceTypes to override.

    *)
  2. recording_frequency : recording_frequency;
    (*

    The default recording frequency that Config uses to record configuration changes.

    Daily recording is not supported for the following resource types:

    • AWS::Config::ResourceCompliance
    • AWS::Config::ConformancePackCompliance
    • AWS::Config::ConfigurationRecorder

    For the allSupported (ALL_SUPPORTED_RESOURCE_TYPES) recording strategy, these resource types will be set to Continuous recording.

    *)
}

Specifies the default recording frequency that Config uses to record configuration changes. Config supports Continuous recording and Daily recording.

  • Continuous recording allows you to record configuration changes continuously whenever a change occurs.
  • Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it’s different from the previous CI recorded.

Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.

You can also override the recording frequency for specific resource types.

type configuration_recorder = {
  1. recording_mode : recording_mode option;
    (*

    Specifies the default recording frequency that Config uses to record configuration changes. Config supports Continuous recording and Daily recording.

    • Continuous recording allows you to record configuration changes continuously whenever a change occurs.
    • Daily recording allows you to receive a configuration item (CI) representing the most recent state of your resources over the last 24-hour period, only if it’s different from the previous CI recorded.

    Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager, it is recommended that you set the recording frequency to Continuous.

    You can also override the recording frequency for specific resource types.

    *)
  2. recording_group : recording_group option;
    (*

    Specifies which resource types Config records for configuration changes.

    High Number of Config Evaluations

    You may notice increased activity in your account during your initial month recording with Config when compared to subsequent months. During the initial bootstrapping process, Config runs evaluations on all the resources in your account that you have selected for Config to record.

    If you are running ephemeral workloads, you may see increased activity from Config as it records configuration changes associated with creating and deleting these temporary resources. An ephemeral workload is a temporary use of computing resources that are loaded and run when needed. Examples include Amazon Elastic Compute Cloud (Amazon EC2) Spot Instances, Amazon EMR jobs, and Auto Scaling. If you want to avoid the increased activity from running ephemeral workloads, you can run these types of workloads in a separate account with Config turned off to avoid increased configuration recording and rule evaluations.

    *)
  3. role_ar_n : string option;
    (*

    Amazon Resource Name (ARN) of the IAM role assumed by Config and used by the configuration recorder.

    While the API model does not require this field, the server will reject a request without a defined roleARN for the configuration recorder.

    Pre-existing Config role

    If you have used an Amazon Web Services service that uses Config, such as Security Hub or Control Tower, and an Config role has already been created, make sure that the IAM role that you use when setting up Config keeps the same minimum permissions as the already created Config role. You must do this so that the other Amazon Web Services service continues to run as expected.

    For example, if Control Tower has an IAM role that allows Config to read Amazon Simple Storage Service (Amazon S3) objects, make sure that the same permissions are granted within the IAM role you use when setting up Config. Otherwise, it may interfere with how Control Tower operates. For more information about IAM roles for Config, see Identity and Access Management for Config in the Config Developer Guide.

    *)
  4. name : string option;
    (*

    The name of the configuration recorder. Config automatically assigns the name of "default" when creating the configuration recorder.

    You cannot change the name of the configuration recorder after it has been created. To change the configuration recorder name, you must delete it and create a new configuration recorder with a new name.

    *)
}

Records configuration changes to your specified resource types. For more information about the configuration recorder, see Managing the Configuration Recorder in the Config Developer Guide.

type put_configuration_recorder_request = {
  1. configuration_recorder : configuration_recorder;
    (*

    An object for the configuration recorder to record configuration changes for specified resource types.

    *)
}

The input for the PutConfigurationRecorder action.

type account_aggregation_source = {
  1. aws_regions : string list option;
    (*

    The source regions being aggregated.

    *)
  2. all_aws_regions : bool option;
    (*

    If true, aggregate existing Config regions and future regions.

    *)
  3. account_ids : string list;
    (*

    The 12-digit account ID of the account being aggregated.

    *)
}

A collection of accounts and regions.

type organization_aggregation_source = {
  1. all_aws_regions : bool option;
    (*

    If true, aggregate existing Config regions and future regions.

    *)
  2. aws_regions : string list option;
    (*

    The source regions being aggregated.

    *)
  3. role_arn : string;
    (*

    ARN of the IAM role used to retrieve Amazon Web Services Organization details associated with the aggregator account.

    *)
}

This object contains regions to set up the aggregator and an IAM role to retrieve organization details.

type configuration_aggregator = {
  1. created_by : string option;
    (*

    Amazon Web Services service that created the configuration aggregator.

    *)
  2. last_updated_time : float option;
    (*

    The time of the last update.

    *)
  3. creation_time : float option;
    (*

    The time stamp when the configuration aggregator was created.

    *)
  4. organization_aggregation_source : organization_aggregation_source option;
    (*

    Provides an organization and list of regions to be aggregated.

    *)
  5. account_aggregation_sources : account_aggregation_source list option;
    (*

    Provides a list of source accounts and regions to be aggregated.

    *)
  6. configuration_aggregator_arn : string option;
    (*

    The Amazon Resource Name (ARN) of the aggregator.

    *)
  7. configuration_aggregator_name : string option;
    (*

    The name of the aggregator.

    *)
}

The details about the configuration aggregator, including information about source accounts, regions, and metadata of the aggregator.

type put_configuration_aggregator_response = {
  1. configuration_aggregator : configuration_aggregator option;
    (*

    Returns a ConfigurationAggregator object.

    *)
}
type put_configuration_aggregator_request = {
  1. tags : tag list option;
    (*

    An array of tag object.

    *)
  2. organization_aggregation_source : organization_aggregation_source option;
    (*

    An OrganizationAggregationSource object.

    *)
  3. account_aggregation_sources : account_aggregation_source list option;
    (*

    A list of AccountAggregationSource object.

    *)
  4. configuration_aggregator_name : string;
    (*

    The name of the configuration aggregator.

    *)
}
type max_number_of_config_rules_exceeded_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

Failed to add the Config rule because the account already contains the maximum number of 1000 rules. Consider deleting any deactivated rules before you add new rules.

type scope = {
  1. compliance_resource_id : string option;
    (*

    The ID of the only Amazon Web Services resource that you want to trigger an evaluation for the rule. If you specify a resource ID, you must specify one resource type for ComplianceResourceTypes.

    *)
  2. tag_value : string option;
    (*

    The tag value applied to only those Amazon Web Services resources that you want to trigger an evaluation for the rule. If you specify a value for TagValue, you must also specify a value for TagKey.

    *)
  3. tag_key : string option;
    (*

    The tag key that is applied to only those Amazon Web Services resources that you want to trigger an evaluation for the rule.

    *)
  4. compliance_resource_types : string list option;
    (*

    The resource types of only those Amazon Web Services 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 ComplianceResourceId.

    *)
}

Defines which resources trigger an evaluation for an 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.

type owner =
  1. | Custom_Policy
  2. | Aws
  3. | Custom_Lambda
type event_source =
  1. | Aws_Config
type message_type =
  1. | OversizedConfigurationItemChangeNotification
  2. | ScheduledNotification
  3. | ConfigurationSnapshotDeliveryCompleted
  4. | ConfigurationItemChangeNotification
type source_detail = {
  1. maximum_execution_frequency : maximum_execution_frequency option;
    (*

    The frequency at which you want Config to run evaluations for a custom rule with a periodic trigger. If you specify a value for MaximumExecutionFrequency, then MessageType must use the ScheduledNotification value.

    By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

    Based on the valid value you choose, Config runs evaluations once for each valid value. For example, if you choose Three_Hours, Config runs evaluations once every three hours. In this case, Three_Hours is the frequency of this rule.

    *)
  2. message_type : message_type option;
    (*

    The type of notification that triggers Config to run an evaluation for a rule. You can specify the following notification types:

    • ConfigurationItemChangeNotification - Triggers an evaluation when Config delivers a configuration item as a result of a resource change.
    • OversizedConfigurationItemChangeNotification - Triggers an evaluation when Config delivers an oversized configuration item. Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.
    • ScheduledNotification - Triggers a periodic evaluation at the frequency specified for MaximumExecutionFrequency.
    • ConfigurationSnapshotDeliveryCompleted - Triggers a periodic evaluation when Config delivers a configuration snapshot.

    If you want your custom rule to be triggered by configuration changes, specify two SourceDetail objects, one for ConfigurationItemChangeNotification and one for OversizedConfigurationItemChangeNotification.

    *)
  3. event_source : event_source option;
    (*

    The source of the event, such as an Amazon Web Services service, that triggers Config to evaluate your Amazon Web Services resources.

    *)
}

Provides the source and the message types that trigger Config to evaluate your Amazon Web Services resources against a rule. It also provides the frequency with which you want Config to run evaluations for the rule if the trigger type is periodic. You can specify the parameter values for SourceDetail only for custom rules.

type custom_policy_details = {
  1. enable_debug_log_delivery : bool option;
    (*

    The boolean expression for enabling debug logging for your Config Custom Policy rule. The default value is false.

    *)
  2. policy_text : string;
    (*

    The policy definition containing the logic for your Config Custom Policy rule.

    *)
  3. policy_runtime : string;
    (*

    The runtime system for your Config Custom Policy rule. Guard is a policy-as-code language that allows you to write policies that are enforced by Config Custom Policy rules. For more information about Guard, see the Guard GitHub Repository.

    *)
}

Provides the runtime system, policy definition, and whether debug logging enabled. You can specify the following CustomPolicyDetails parameter values only for Config Custom Policy rules.

type source = {
  1. custom_policy_details : custom_policy_details option;
    (*

    Provides the runtime system, policy definition, and whether debug logging is enabled. Required when owner is set to CUSTOM_POLICY.

    *)
  2. source_details : source_detail list option;
    (*

    Provides the source and the message types that cause Config to evaluate your Amazon Web Services resources against a rule. It also provides the frequency with which you want Config to run evaluations for the rule if the trigger type is periodic.

    If the owner is set to CUSTOM_POLICY, the only acceptable values for the Config rule trigger message type are ConfigurationItemChangeNotification and OversizedConfigurationItemChangeNotification.

    *)
  3. source_identifier : string option;
    (*

    For Config Managed rules, a predefined identifier from a list. For example, IAM_PASSWORD_POLICY is a managed rule. To reference a managed rule, see List of Config Managed Rules.

    For Config Custom Lambda rules, the identifier is the Amazon Resource Name (ARN) of the rule's Lambda function, such as arn:aws:lambda:us-east-2:123456789012:function:custom_rule_name.

    For Config Custom Policy rules, this field will be ignored.

    *)
  4. owner : owner;
    (*

    Indicates whether Amazon Web Services or the customer owns and manages the Config rule.

    Config Managed Rules are predefined rules owned by Amazon Web Services. For more information, see Config Managed Rules in the Config developer guide.

    Config Custom Rules are rules that you can develop either with Guard (CUSTOM_POLICY) or Lambda (CUSTOM_LAMBDA). For more information, see Config Custom Rules in the Config developer guide.

    *)
}

Provides the CustomPolicyDetails, the rule owner (Amazon Web Services for managed rules, CUSTOM_POLICY for Custom Policy rules, and CUSTOM_LAMBDA for Custom Lambda rules), the rule identifier, and the events that cause the evaluation of your Amazon Web Services resources.

type config_rule_state =
  1. | EVALUATING
  2. | DELETING_RESULTS
  3. | DELETING
  4. | ACTIVE
type evaluation_mode_configuration = {
  1. mode : evaluation_mode option;
    (*

    The mode of an evaluation. The valid values are Detective or Proactive.

    *)
}

The configuration object for Config rule evaluation mode. The supported valid values are Detective or Proactive.

type config_rule = {
  1. evaluation_modes : evaluation_mode_configuration list option;
    (*

    The modes the Config rule can be evaluated in. The valid values are distinct objects. By default, the value is Detective evaluation mode only.

    *)
  2. created_by : string option;
    (*

    Service principal name of the service that created the rule.

    The field is populated only if the service-linked rule is created by a service. The field is empty if you create your own rule.

    *)
  3. config_rule_state : config_rule_state option;
    (*

    Indicates whether the Config rule is active or is currently being deleted by Config. It can also indicate the evaluation status for the Config rule.

    Config sets the state of the rule to EVALUATING temporarily after you use the StartConfigRulesEvaluation request to evaluate your resources against the Config rule.

    Config sets the state of the rule to DELETING_RESULTS temporarily after you use the DeleteEvaluationResults request to delete the current evaluation results for the Config rule.

    Config temporarily sets the state of a rule to DELETING after you use the DeleteConfigRule request to delete the rule. After Config deletes the rule, the rule and all of its evaluations are erased and are no longer available.

    *)
  4. maximum_execution_frequency : maximum_execution_frequency option;
    (*

    The maximum frequency with which Config runs evaluations for a rule. You can specify a value for MaximumExecutionFrequency when:

    • This is for an Config managed rule that is triggered at a periodic frequency.
    • Your custom rule is triggered when Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

    By default, rules with a periodic trigger are evaluated every 24 hours. To change the frequency, specify a valid value for the MaximumExecutionFrequency parameter.

    *)
  5. input_parameters : string option;
    (*

    A string, in JSON format, that is passed to the Config rule Lambda function.

    *)
  6. source : source;
    (*

    Provides the rule owner (Amazon Web Services for managed rules, CUSTOM_POLICY for Custom Policy rules, and CUSTOM_LAMBDA for Custom Lambda rules), the rule identifier, and the notifications that cause the function to evaluate your Amazon Web Services resources.

    *)
  7. scope : scope option;
    (*

    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.

    The scope can be empty.

    *)
  8. description : string option;
    (*

    The description that you provide for the Config rule.

    *)
  9. config_rule_id : string option;
    (*

    The ID of the Config rule.

    *)
  10. config_rule_arn : string option;
    (*

    The Amazon Resource Name (ARN) of the Config rule.

    *)
  11. config_rule_name : string option;
    (*

    The name that you assign to the Config rule. The name is required if you are adding a new rule.

    *)
}

Config rules evaluate the configuration settings of your Amazon Web Services resources. A rule can run when Config detects a configuration change to an Amazon Web Services resource or at a periodic frequency that you choose (for example, every 24 hours). There are two types of rules: Config Managed Rules and Config Custom Rules.

Config Managed Rules are predefined, customizable rules created by Config. For a list of managed rules, see List of Config Managed Rules.

Config Custom Rules are rules that you create from scratch. There are two ways to create Config custom rules: with Lambda functions (Lambda Developer Guide) and with Guard (Guard GitHub Repository), a policy-as-code language. Config custom rules created with Lambda are called Config Custom Lambda Rules and Config custom rules created with Guard are called Config Custom Policy Rules.

For more information about developing and using Config rules, see Evaluating Resource with Config Rules in the Config Developer Guide.

You can use the Amazon Web Services CLI and Amazon Web Services SDKs if you want to create a rule that triggers evaluations for your resources when Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

type put_config_rule_request = {
  1. tags : tag list option;
    (*

    An array of tag object.

    *)
  2. config_rule : config_rule;
    (*

    The rule that you want to add to your account.

    *)
}
type aggregation_authorization = {
  1. creation_time : float option;
    (*

    The time stamp when the aggregation authorization was created.

    *)
  2. authorized_aws_region : string option;
    (*

    The region authorized to collect aggregated data.

    *)
  3. authorized_account_id : string option;
    (*

    The 12-digit account ID of the account authorized to aggregate data.

    *)
  4. aggregation_authorization_arn : string option;
    (*

    The Amazon Resource Name (ARN) of the aggregation object.

    *)
}

An object that represents the authorizations granted to aggregator accounts and regions.

type put_aggregation_authorization_response = {
  1. aggregation_authorization : aggregation_authorization option;
    (*

    Returns an AggregationAuthorization object.

    *)
}
type put_aggregation_authorization_request = {
  1. tags : tag list option;
    (*

    An array of tag object.

    *)
  2. authorized_aws_region : string;
    (*

    The region authorized to collect aggregated data.

    *)
  3. authorized_account_id : string;
    (*

    The 12-digit account ID of the account authorized to aggregate data.

    *)
}
type list_tags_for_resource_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. tags : tag list option;
    (*

    The tags for the resource.

    *)
}
type list_tags_for_resource_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of tags returned on each page. The limit maximum is 50. You cannot specify a number greater than 50. If you specify 0, Config uses the default.

    *)
  3. resource_arn : string;
    (*

    The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are ConfigRule, ConfigurationAggregator and AggregatorAuthorization.

    *)
}
type list_stored_queries_response = {
  1. next_token : string option;
    (*

    If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

    *)
  2. stored_query_metadata : stored_query_metadata list option;
    (*

    A list of StoredQueryMetadata objects.

    *)
}
type list_stored_queries_request = {
  1. max_results : int option;
    (*

    The maximum number of results to be returned with a single call.

    *)
  2. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
}
type invalid_time_range_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

The specified time range is not valid. The earlier time is not chronologically before the later time.

type resource_evaluation = {
  1. evaluation_start_timestamp : float option;
    (*

    The starting time of an execution.

    *)
  2. evaluation_mode : evaluation_mode option;
    (*

    The mode of an evaluation. The valid values are Detective or Proactive.

    *)
  3. resource_evaluation_id : string option;
    (*

    The ResourceEvaluationId of a evaluation.

    *)
}

Returns details of a resource evaluation.

type list_resource_evaluations_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. resource_evaluations : resource_evaluation list option;
    (*

    Returns a ResourceEvaluations object.

    *)
}
type resource_evaluation_filters = {
  1. evaluation_context_identifier : string option;
    (*

    Filters evaluations for a given infrastructure deployment. For example: CFN Stack.

    *)
  2. time_window : time_window option;
    (*

    Returns a TimeWindow object.

    *)
  3. evaluation_mode : evaluation_mode option;
    (*

    Filters all resource evaluations results based on an evaluation mode.

    Currently, DECTECTIVE is not supported as a valid value. Ignore other documentation stating otherwise.

    *)
}

Returns details of a resource evaluation based on the selected filter.

type list_resource_evaluations_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of evaluations returned on each page. The default is 10. You cannot specify a number greater than 100. If you specify 0, Config uses the default.

    *)
  3. filters : resource_evaluation_filters option;
    (*

    Returns a ResourceEvaluationFilters object.

    *)
}
type resource_identifier = {
  1. resource_deletion_time : float option;
    (*

    The time that the resource was deleted.

    *)
  2. resource_name : string option;
    (*

    The custom name of the resource (if available).

    *)
  3. resource_id : string option;
    (*

    The ID of the resource (for example, sg-xxxxxx).

    *)
  4. resource_type : resource_type option;
    (*

    The type of resource.

    *)
}

The details that identify a resource that is discovered by Config, including the resource type, ID, and (if available) the custom resource name.

type list_discovered_resources_response = {
  1. next_token : string option;
    (*

    The string that you use in a subsequent request to get the next page of results in a paginated response.

    *)
  2. resource_identifiers : resource_identifier list option;
    (*

    The details that identify a resource that is discovered by Config, including the resource type, ID, and (if available) the custom resource name.

    *)
}
type list_discovered_resources_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. include_deleted_resources : bool option;
    (*

    Specifies whether Config includes deleted resources in the results. By default, deleted resources are not included.

    *)
  3. limit : int option;
    (*

    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, Config uses the default.

    *)
  4. resource_name : string option;
    (*

    The custom name of only those resources that you want Config to list in the response. If you do not specify this parameter, Config lists all resources of the specified type that it has discovered.

    *)
  5. resource_ids : string list option;
    (*

    The IDs of only those resources that you want Config to list in the response. If you do not specify this parameter, Config lists all resources of the specified type that it has discovered. You can list a minimum of 1 resourceID and a maximum of 20 resourceIds.

    *)
  6. resource_type : resource_type;
    (*

    The type of resources that you want Config to list in the response.

    *)
}
type conformance_pack_compliance_score = {
  1. last_updated_time : float option;
    (*

    The time that the conformance pack compliance score was last updated.

    *)
  2. conformance_pack_name : string option;
    (*

    The name of the conformance pack.

    *)
  3. score : string option;
    (*

    Compliance score for the conformance pack. Conformance packs with no evaluation results will have a compliance score of INSUFFICIENT_DATA.

    *)
}

A compliance score is the percentage of the number of compliant rule-resource combinations in a conformance pack compared to the number of total possible rule-resource combinations in the conformance pack. This metric provides you with a high-level view of the compliance state of your conformance packs. You can use it to identify, investigate, and understand the level of compliance in your conformance packs.

type list_conformance_pack_compliance_scores_response = {
  1. conformance_pack_compliance_scores : conformance_pack_compliance_score list;
    (*

    A list of ConformancePackComplianceScore objects.

    *)
  2. next_token : string option;
    (*

    The nextToken string that you can use to get the next page of results in a paginated response.

    *)
}
type conformance_pack_compliance_scores_filters = {
  1. conformance_pack_names : string list;
    (*

    The names of the conformance packs whose compliance scores you want to include in the conformance pack compliance score result set. You can include up to 25 conformance packs in the ConformancePackNames array of strings, each with a character limit of 256 characters for the conformance pack name.

    *)
}

A list of filters to apply to the conformance pack compliance score result set.

type sort_order =
  1. | DESCENDING
  2. | ASCENDING
type sort_by =
  1. | SCORE
type list_conformance_pack_compliance_scores_request = {
  1. next_token : string option;
    (*

    The nextToken string in a prior request that you can use to get the paginated response for the next set of conformance pack compliance scores.

    *)
  2. limit : int option;
    (*

    The maximum number of conformance pack compliance scores returned on each page.

    *)
  3. sort_by : sort_by option;
    (*

    Sorts your conformance pack compliance scores in either ascending or descending order, depending on SortOrder.

    By default, conformance pack compliance scores are sorted in alphabetical order by name of the conformance pack. Enter SCORE, to sort conformance pack compliance scores by the numerical value of the compliance score.

    *)
  4. sort_order : sort_order option;
    (*

    Determines the order in which conformance pack compliance scores are sorted. Either in ascending or descending order.

    By default, conformance pack compliance scores are sorted in alphabetical order by name of the conformance pack. Conformance pack compliance scores are sorted in reverse alphabetical order if you enter DESCENDING.

    You can sort conformance pack compliance scores by the numerical value of the compliance score by entering SCORE in the SortBy action. When compliance scores are sorted by SCORE, conformance packs with a compliance score of INSUFFICIENT_DATA will be last when sorting by ascending order and first when sorting by descending order.

    *)
  5. filters : conformance_pack_compliance_scores_filters option;
    (*

    Filters the results based on the ConformancePackComplianceScoresFilters.

    *)
}
type list_aggregate_discovered_resources_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. resource_identifiers : aggregate_resource_identifier list option;
    (*

    Returns a list of ResourceIdentifiers objects.

    *)
}
type resource_filters = {
  1. region : string option;
    (*

    The source region.

    *)
  2. resource_name : string option;
    (*

    The name of the resource.

    *)
  3. resource_id : string option;
    (*

    The ID of the resource.

    *)
  4. account_id : string option;
    (*

    The 12-digit source account ID.

    *)
}

Filters the results by resource account ID, region, resource ID, and resource name.

type list_aggregate_discovered_resources_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of resource identifiers returned on each page. You cannot specify a number greater than 100. If you specify 0, Config uses the default.

    *)
  3. filters : resource_filters option;
    (*

    Filters the results based on the ResourceFilters object.

    *)
  4. resource_type : resource_type;
    (*

    The type of resources that you want Config to list in the response.

    *)
  5. configuration_aggregator_name : string;
    (*

    The name of the configuration aggregator.

    *)
}
type get_stored_query_response = {
  1. stored_query : stored_query option;
    (*

    Returns a StoredQuery object.

    *)
}
type get_stored_query_request = {
  1. query_name : string;
    (*

    The name of the query.

    *)
}
type resource_evaluation_status =
  1. | SUCCEEDED
  2. | FAILED
  3. | IN_PROGRESS
type evaluation_status = {
  1. failure_reason : string option;
    (*

    An explanation for failed execution status.

    *)
  2. status : resource_evaluation_status;
    (*

    The status of an execution. The valid values are In_Progress, Succeeded or Failed.

    *)
}

Returns status details of an evaluation.

type get_resource_evaluation_summary_response = {
  1. resource_details : resource_details option;
    (*

    Returns a ResourceDetails object.

    *)
  2. evaluation_context : evaluation_context option;
    (*

    Returns an EvaluationContext object.

    *)
  3. compliance : compliance_type option;
    (*

    The compliance status of the resource evaluation summary.

    *)
  4. evaluation_start_timestamp : float option;
    (*

    The start timestamp when Config rule starts evaluating compliance for the provided resource details.

    *)
  5. evaluation_status : evaluation_status option;
    (*

    Returns an EvaluationStatus object.

    *)
  6. evaluation_mode : evaluation_mode option;
    (*

    Lists results of the mode that you requested to retrieve the resource evaluation summary. The valid values are Detective or Proactive.

    *)
  7. resource_evaluation_id : string option;
    (*

    The unique ResourceEvaluationId of Amazon Web Services resource execution for which you want to retrieve the evaluation summary.

    *)
}
type get_resource_evaluation_summary_request = {
  1. resource_evaluation_id : string;
    (*

    The unique ResourceEvaluationId of Amazon Web Services resource execution for which you want to retrieve the evaluation summary.

    *)
}
type resource_not_discovered_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have specified a resource that is either unknown or has not been discovered.

type configuration_item_status =
  1. | ResourceDeletedNotRecorded
  2. | ResourceDeleted
  3. | ResourceNotRecorded
  4. | ResourceDiscovered
  5. | OK
type relationship = {
  1. relationship_name : string option;
    (*

    The type of relationship with the related resource.

    *)
  2. resource_name : string option;
    (*

    The custom name of the related resource, if available.

    *)
  3. resource_id : string option;
    (*

    The ID of the related resource (for example, sg-xxxxxx).

    *)
  4. resource_type : resource_type option;
    (*

    The resource type of the related resource.

    *)
}

The relationship of the related resource to the main resource.

type configuration_item = {
  1. configuration_item_delivery_time : float option;
    (*

    The time when configuration changes for the resource were delivered.

    This field is optional and is not guaranteed to be present in a configuration item (CI). If you are using daily recording, this field will be populated. However, if you are using continuous recording, this field will be omitted since the delivery time is instantaneous as the CI is available right away. For more information on daily recording and continuous recording, see Recording Frequency in the Config Developer Guide.

    *)
  2. recording_frequency : recording_frequency option;
    (*

    The recording frequency that Config uses to record configuration changes for the resource.

    *)
  3. supplementary_configuration : (string * string) list option;
    (*

    Configuration attributes that Config returns for certain resource types to supplement the information returned for the configuration parameter.

    *)
  4. configuration : string option;
    (*

    The description of the resource configuration.

    *)
  5. relationships : relationship list option;
    (*

    A list of related Amazon Web Services resources.

    *)
  6. related_events : string list option;
    (*

    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 What Is CloudTrail.

    An empty field indicates that the current configuration was not initiated by any event. As of Version 1.3, the relatedEvents field is empty. You can access the LookupEvents API in the CloudTrail API Reference to retrieve the events for the resource.

    *)
  7. tags : (string * string) list option;
    (*

    A mapping of key value tags associated with the resource.

    *)
  8. resource_creation_time : float option;
    (*

    The time stamp when the resource was created.

    *)
  9. availability_zone : string option;
    (*

    The Availability Zone associated with the resource.

    *)
  10. aws_region : string option;
    (*

    The region where the resource resides.

    *)
  11. resource_name : string option;
    (*

    The custom name of the resource, if available.

    *)
  12. resource_id : string option;
    (*

    The ID of the resource (for example, sg-xxxxxx).

    *)
  13. resource_type : resource_type option;
    (*

    The type of Amazon Web Services resource.

    *)
  14. arn : string option;
    (*

    Amazon Resource Name (ARN) associated with the resource.

    *)
  15. configuration_item_md5_hash : string option;
    (*

    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.

    *)
  16. configuration_state_id : string option;
    (*

    An identifier that indicates the ordering of the configuration items of a resource.

    *)
  17. configuration_item_status : configuration_item_status option;
    (*

    The configuration item status. Valid values include:

    • OK – The resource configuration has been updated
    • ResourceDiscovered – The resource was newly discovered
    • ResourceNotRecorded – The resource was discovered but its configuration was not recorded since the recorder doesn't record resources of this type
    • ResourceDeleted – The resource was deleted
    • ResourceDeletedNotRecorded – The resource was deleted but its configuration was not recorded since the recorder doesn't record resources of this type
    *)
  18. configuration_item_capture_time : float option;
    (*

    The time when the recording of configuration changes was initiated for the resource.

    *)
  19. account_id : string option;
    (*

    The 12-digit Amazon Web Services account ID associated with the resource.

    *)
  20. version : string option;
    (*

    The version number of the resource configuration.

    *)
}

A list that contains detailed configurations of a specified resource.

type get_resource_config_history_response = {
  1. next_token : string option;
    (*

    The string that you use in a subsequent request to get the next page of results in a paginated response.

    *)
  2. configuration_items : configuration_item list option;
    (*

    A list that contains the configuration history of one or more resources.

    *)
}

The output for the GetResourceConfigHistory action.

type chronological_order =
  1. | Forward
  2. | Reverse
type get_resource_config_history_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    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, Config uses the default.

    *)
  3. chronological_order : chronological_order option;
    (*

    The chronological order for configuration items listed. By default, the results are listed in reverse chronological order.

    *)
  4. earlier_time : float option;
    (*

    The chronologically earliest time in the time range for which the history requested. If not specified, the action returns paginated results that contain configuration items that start when the first configuration item was recorded.

    *)
  5. later_time : float option;
    (*

    The chronologically latest time in the time range for which the history requested. If not specified, current time is taken.

    *)
  6. resource_id : string;
    (*

    The ID of the resource (for example., sg-xxxxxx).

    *)
  7. resource_type : resource_type;
    (*

    The resource type.

    *)
}

The input for the GetResourceConfigHistory action.

type no_such_organization_config_rule_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

The Config rule in the request is not valid. Verify that the rule is an organization Config Process Check rule, that the rule name is correct, and that valid Amazon Resouce Names (ARNs) are used before trying again.

type get_organization_custom_rule_policy_response = {
  1. policy_text : string option;
    (*

    The policy definition containing the logic for your organization Config Custom Policy rule.

    *)
}
type get_organization_custom_rule_policy_request = {
  1. organization_config_rule_name : string;
    (*

    The name of your organization Config Custom Policy rule.

    *)
}
type no_such_organization_conformance_pack_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

Config organization conformance pack that you passed in the filter does not exist.

For DeleteOrganizationConformancePack, you tried to delete an organization conformance pack that does not exist.

type organization_resource_detailed_status =
  1. | UPDATE_FAILED
  2. | UPDATE_IN_PROGRESS
  3. | UPDATE_SUCCESSFUL
  4. | DELETE_IN_PROGRESS
  5. | DELETE_FAILED
  6. | DELETE_SUCCESSFUL
  7. | CREATE_FAILED
  8. | CREATE_IN_PROGRESS
  9. | CREATE_SUCCESSFUL
type organization_conformance_pack_detailed_status = {
  1. last_update_time : float option;
    (*

    The timestamp of the last status update.

    *)
  2. error_message : string option;
    (*

    An error message indicating that conformance pack account creation or deletion has failed due to an error in the member account.

    *)
  3. error_code : string option;
    (*

    An error code that is returned when conformance pack creation or deletion failed in the member account.

    *)
  4. status : organization_resource_detailed_status;
    (*

    Indicates deployment status for conformance pack in a member account. When management account calls PutOrganizationConformancePack action for the first time, conformance pack status is created in the member account. When management account calls PutOrganizationConformancePack action for the second time, conformance pack status is updated in the member account. Conformance pack status is deleted when the management account deletes OrganizationConformancePack and disables service access for config-multiaccountsetup.amazonaws.com.

    Config sets the state of the conformance pack to:

    • CREATE_SUCCESSFUL when conformance pack has been created in the member account.
    • CREATE_IN_PROGRESS when conformance pack is being created in the member account.
    • CREATE_FAILED when conformance pack creation has failed in the member account.
    • DELETE_FAILED when conformance pack deletion has failed in the member account.
    • DELETE_IN_PROGRESS when conformance pack is being deleted in the member account.
    • DELETE_SUCCESSFUL when conformance pack has been deleted in the member account.
    • UPDATE_SUCCESSFUL when conformance pack has been updated in the member account.
    • UPDATE_IN_PROGRESS when conformance pack is being updated in the member account.
    • UPDATE_FAILED when conformance pack deletion has failed in the member account.
    *)
  5. conformance_pack_name : string;
    (*

    The name of conformance pack deployed in the member account.

    *)
  6. account_id : string;
    (*

    The 12-digit account ID of a member account.

    *)
}

Organization conformance pack creation or deletion status in each member account. This includes the name of the conformance pack, the status, error code and error message when the conformance pack creation or deletion failed.

type get_organization_conformance_pack_detailed_status_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. organization_conformance_pack_detailed_statuses : organization_conformance_pack_detailed_status list option;
    (*

    A list of OrganizationConformancePackDetailedStatus objects.

    *)
}
type organization_resource_detailed_status_filters = {
  1. status : organization_resource_detailed_status option;
    (*

    Indicates deployment status for conformance pack in a member account. When management account calls PutOrganizationConformancePack action for the first time, conformance pack status is created in the member account. When management account calls PutOrganizationConformancePack action for the second time, conformance pack status is updated in the member account. Conformance pack status is deleted when the management account deletes OrganizationConformancePack and disables service access for config-multiaccountsetup.amazonaws.com.

    Config sets the state of the conformance pack to:

    • CREATE_SUCCESSFUL when conformance pack has been created in the member account.
    • CREATE_IN_PROGRESS when conformance pack is being created in the member account.
    • CREATE_FAILED when conformance pack creation has failed in the member account.
    • DELETE_FAILED when conformance pack deletion has failed in the member account.
    • DELETE_IN_PROGRESS when conformance pack is being deleted in the member account.
    • DELETE_SUCCESSFUL when conformance pack has been deleted in the member account.
    • UPDATE_SUCCESSFUL when conformance pack has been updated in the member account.
    • UPDATE_IN_PROGRESS when conformance pack is being updated in the member account.
    • UPDATE_FAILED when conformance pack deletion has failed in the member account.
    *)
  2. account_id : string option;
    (*

    The 12-digit account ID of the member account within an organization.

    *)
}

Status filter object to filter results based on specific member account ID or status type for an organization conformance pack.

type get_organization_conformance_pack_detailed_status_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of OrganizationConformancePackDetailedStatuses returned on each page. If you do not specify a number, Config uses the default. The default is 100.

    *)
  3. filters : organization_resource_detailed_status_filters option;
    (*

    An OrganizationResourceDetailedStatusFilters object.

    *)
  4. organization_conformance_pack_name : string;
    (*

    The name of organization conformance pack for which you want status details for member accounts.

    *)
}
type member_account_status = {
  1. last_update_time : float option;
    (*

    The timestamp of the last status update.

    *)
  2. error_message : string option;
    (*

    An error message indicating that Config rule account creation or deletion has failed due to an error in the member account.

    *)
  3. error_code : string option;
    (*

    An error code that is returned when Config rule creation or deletion failed in the member account.

    *)
  4. member_account_rule_status : member_account_rule_status;
    (*

    Indicates deployment status for Config rule in the member account. When management account calls PutOrganizationConfigRule action for the first time, Config rule status is created in the member account. When management account calls PutOrganizationConfigRule action for the second time, Config rule status is updated in the member account. Config rule status is deleted when the management account deletes OrganizationConfigRule and disables service access for config-multiaccountsetup.amazonaws.com.

    Config sets the state of the rule to:

    • CREATE_SUCCESSFUL when Config rule has been created in the member account.
    • CREATE_IN_PROGRESS when Config rule is being created in the member account.
    • CREATE_FAILED when Config rule creation has failed in the member account.
    • DELETE_FAILED when Config rule deletion has failed in the member account.
    • DELETE_IN_PROGRESS when Config rule is being deleted in the member account.
    • DELETE_SUCCESSFUL when Config rule has been deleted in the member account.
    • UPDATE_SUCCESSFUL when Config rule has been updated in the member account.
    • UPDATE_IN_PROGRESS when Config rule is being updated in the member account.
    • UPDATE_FAILED when Config rule deletion has failed in the member account.
    *)
  5. config_rule_name : string;
    (*

    The name of Config rule deployed in the member account.

    *)
  6. account_id : string;
    (*

    The 12-digit account ID of a member account.

    *)
}

Organization Config rule creation or deletion status in each member account. This includes the name of the rule, the status, error code and error message when the rule creation or deletion failed.

type get_organization_config_rule_detailed_status_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. organization_config_rule_detailed_status : member_account_status list option;
    (*

    A list of MemberAccountStatus objects.

    *)
}
type get_organization_config_rule_detailed_status_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of OrganizationConfigRuleDetailedStatus returned on each page. If you do not specify a number, Config uses the default. The default is 100.

    *)
  3. filters : status_detail_filters option;
    (*

    A StatusDetailFilters object.

    *)
  4. organization_config_rule_name : string;
    (*

    The name of your organization Config rule for which you want status details for member accounts.

    *)
}
type resource_count = {
  1. count : int option;
    (*

    The number of resources.

    *)
  2. resource_type : resource_type option;
    (*

    The resource type (for example, "AWS::EC2::Instance").

    *)
}

An object that contains the resource type and the number of resources.

type get_discovered_resource_counts_response = {
  1. next_token : string option;
    (*

    The string that you use in a subsequent request to get the next page of results in a paginated response.

    *)
  2. resource_counts : resource_count list option;
    (*

    The list of ResourceCount objects. Each object is listed in descending order by the number of resources.

    *)
  3. total_discovered_resources : int option;
    (*

    The total number of resources that Config is recording in the region for your account. If you specify resource types in the request, Config returns only the total number of resources for those resource types.

    Example

    1. 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.
    2. You make a call to the GetDiscoveredResourceCounts action and specify the resource type, "AWS::EC2::Instances", in the request.
    3. Config returns 25 for totalDiscoveredResources.
    *)
}
type get_discovered_resource_counts_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of ResourceCount objects returned on each page. The default is 100. You cannot specify a number greater than 100. If you specify 0, Config uses the default.

    *)
  3. resource_types : string list option;
    (*

    The comma-separated list that specifies the resource types that you want Config to return (for example, "AWS::EC2::Instance", "AWS::IAM::User").

    If a value for resourceTypes is not specified, Config returns all resource types that Config is recording in the region for your account.

    If the configuration recorder is turned off, Config returns an empty list of ResourceCount objects. If the configuration recorder is not recording a specific resource type (for example, S3 buckets), that resource type is not returned in the list of ResourceCount objects.

    *)
}
type get_custom_rule_policy_response = {
  1. policy_text : string option;
    (*

    The policy definition containing the logic for your Config Custom Policy rule.

    *)
}
type get_custom_rule_policy_request = {
  1. config_rule_name : string option;
    (*

    The name of your Config Custom Policy rule.

    *)
}
type no_such_conformance_pack_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You specified one or more conformance packs that do not exist.

type conformance_pack_compliance_type =
  1. | INSUFFICIENT_DATA
  2. | NON_COMPLIANT
  3. | COMPLIANT
type conformance_pack_compliance_summary = {
  1. conformance_pack_compliance_status : conformance_pack_compliance_type;
    (*

    The status of the conformance pack.

    *)
  2. conformance_pack_name : string;
    (*

    The name of the conformance pack name.

    *)
}

Summary includes the name and status of the conformance pack.

type get_conformance_pack_compliance_summary_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. conformance_pack_compliance_summary_list : conformance_pack_compliance_summary list option;
    (*

    A list of ConformancePackComplianceSummary objects.

    *)
}
type get_conformance_pack_compliance_summary_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of conformance packs returned on each page.

    *)
  3. conformance_pack_names : string list;
    (*

    Names of conformance packs.

    *)
}
type no_such_config_rule_in_conformance_pack_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

Config rule that you passed in the filter does not exist.

type evaluation_result_qualifier = {
  1. evaluation_mode : evaluation_mode option;
    (*

    The mode of an evaluation. The valid values are Detective or Proactive.

    *)
  2. resource_id : string option;
    (*

    The ID of the evaluated Amazon Web Services resource.

    *)
  3. resource_type : string option;
    (*

    The type of Amazon Web Services resource that was evaluated.

    *)
  4. config_rule_name : string option;
    (*

    The name of the Config rule that was used in the evaluation.

    *)
}

Identifies an Config rule that evaluated an Amazon Web Services resource, and provides the type and ID of the resource that the rule evaluated.

type evaluation_result_identifier = {
  1. resource_evaluation_id : string option;
    (*

    A Unique ID for an evaluation result.

    *)
  2. ordering_timestamp : float option;
    (*

    The time of the event that triggered the evaluation of your Amazon Web Services resources. The time can indicate when Config delivered a configuration item change notification, or it can indicate when Config delivered the configuration snapshot, depending on which event triggered the evaluation.

    *)
  3. evaluation_result_qualifier : evaluation_result_qualifier option;
    (*

    Identifies an Config rule used to evaluate an Amazon Web Services resource, and provides the type and ID of the evaluated resource.

    *)
}

Uniquely identifies an evaluation result.

type conformance_pack_evaluation_result = {
  1. annotation : string option;
    (*

    Supplementary information about how the evaluation determined the compliance.

    *)
  2. result_recorded_time : float;
    (*

    The time when Config recorded the evaluation result.

    *)
  3. config_rule_invoked_time : float;
    (*

    The time when Config rule evaluated Amazon Web Services resource.

    *)
  4. evaluation_result_identifier : evaluation_result_identifier;
  5. compliance_type : conformance_pack_compliance_type;
    (*

    The compliance type. The allowed values are COMPLIANT and NON_COMPLIANT. INSUFFICIENT_DATA is not supported.

    *)
}

The details of a conformance pack evaluation. Provides Config rule and Amazon Web Services resource type that was evaluated, the compliance of the conformance pack, related time stamps, and supplementary information.

type get_conformance_pack_compliance_details_response = {
  1. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
  2. conformance_pack_rule_evaluation_results : conformance_pack_evaluation_result list option;
    (*

    Returns a list of ConformancePackEvaluationResult objects.

    *)
  3. conformance_pack_name : string;
    (*

    Name of the conformance pack.

    *)
}
type conformance_pack_evaluation_filters = {
  1. resource_ids : string list option;
    (*

    Filters the results by resource IDs.

    This is valid only when you provide resource type. If there is no resource type, you will see an error.

    *)
  2. resource_type : string option;
    (*

    Filters the results by the resource type (for example, "AWS::EC2::Instance").

    *)
  3. compliance_type : conformance_pack_compliance_type option;
    (*

    Filters the results by compliance.

    The allowed values are COMPLIANT and NON_COMPLIANT. INSUFFICIENT_DATA is not supported.

    *)
  4. config_rule_names : string list option;
    (*

    Filters the results by Config rule names.

    *)
}

Filters a conformance pack by Config rule names, compliance types, Amazon Web Services resource types, and resource IDs.

type get_conformance_pack_compliance_details_request = {
  1. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of evaluation results returned on each page. If you do no specify a number, Config uses the default. The default is 100.

    *)
  3. filters : conformance_pack_evaluation_filters option;
    (*

    A ConformancePackEvaluationFilters object.

    *)
  4. conformance_pack_name : string;
    (*

    Name of the conformance pack.

    *)
}
type compliance_contributor_count = {
  1. cap_exceeded : bool option;
    (*

    Indicates whether the maximum count is reached.

    *)
  2. capped_count : int option;
    (*

    The number of Amazon Web Services resources or Config rules responsible for the current compliance of the item.

    *)
}

The number of Amazon Web Services resources or Config rules responsible for the current compliance of the item, up to a maximum number.

type compliance_summary = {
  1. compliance_summary_timestamp : float option;
    (*

    The time that Config created the compliance summary.

    *)
  2. non_compliant_resource_count : compliance_contributor_count option;
    (*

    The number of Config rules or Amazon Web Services resources that are noncompliant, up to a maximum of 25 for rules and 100 for resources.

    *)
  3. compliant_resource_count : compliance_contributor_count option;
    (*

    The number of Config rules or Amazon Web Services resources that are compliant, up to a maximum of 25 for rules and 100 for resources.

    *)
}

The number of Config rules or Amazon Web Services resources that are compliant and noncompliant.

type compliance_summary_by_resource_type = {
  1. compliance_summary : compliance_summary option;
    (*

    The number of Amazon Web Services resources that are compliant or noncompliant, up to a maximum of 100 for each.

    *)
  2. resource_type : string option;
    (*

    The type of Amazon Web Services resource.

    *)
}

The number of Amazon Web Services resources of a specific type that are compliant or noncompliant, up to a maximum of 100 for each.

type get_compliance_summary_by_resource_type_response = {
  1. compliance_summaries_by_resource_type : compliance_summary_by_resource_type list option;
    (*

    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.

    *)
}
type get_compliance_summary_by_resource_type_request = {
  1. resource_types : string list option;
    (*

    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 Amazon Web Services resource type such as AWS::EC2::Instance. You can specify that the resource type is an Amazon Web Services account by specifying AWS::::Account.

    *)
}
type get_compliance_summary_by_config_rule_response = {
  1. compliance_summary : compliance_summary option;
    (*

    The number of Config rules that are compliant and the number that are noncompliant, up to a maximum of 25 for each.

    *)
}
type evaluation_result = {
  1. result_token : string option;
    (*

    An encrypted token that associates an evaluation with an Config rule. The token identifies the rule, the Amazon Web Services resource being evaluated, and the event that triggered the evaluation.

    *)
  2. annotation : string option;
    (*

    Supplementary information about how the evaluation determined the compliance.

    *)
  3. config_rule_invoked_time : float option;
    (*

    The time when the Config rule evaluated the Amazon Web Services resource.

    *)
  4. result_recorded_time : float option;
    (*

    The time when Config recorded the evaluation result.

    *)
  5. compliance_type : compliance_type option;
    (*

    Indicates whether the Amazon Web Services resource complies with the Config rule that evaluated it.

    For the EvaluationResult data type, Config supports only the COMPLIANT, NON_COMPLIANT, and NOT_APPLICABLE values. Config does not support the INSUFFICIENT_DATA value for the EvaluationResult data type.

    *)
  6. evaluation_result_identifier : evaluation_result_identifier option;
    (*

    Uniquely identifies the evaluation result.

    *)
}

The details of an Config evaluation. Provides the Amazon Web Services resource that was evaluated, the compliance of the resource, related time stamps, and supplementary information.

type get_compliance_details_by_resource_response = {
  1. next_token : string option;
    (*

    The string that you use in a subsequent request to get the next page of results in a paginated response.

    *)
  2. evaluation_results : evaluation_result list option;
    (*

    Indicates whether the specified Amazon Web Services resource complies each Config rule.

    *)
}
type get_compliance_details_by_resource_request = {
  1. resource_evaluation_id : string option;
    (*

    The unique ID of Amazon Web Services resource execution for which you want to retrieve evaluation results.

    You need to only provide either a ResourceEvaluationID or a ResourceID and ResourceType.

    *)
  2. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  3. compliance_types : compliance_type list option;
    (*

    Filters the results by compliance.

    INSUFFICIENT_DATA is a valid ComplianceType that is returned when an Config rule cannot be evaluated. However, INSUFFICIENT_DATA cannot be used as a ComplianceType for filtering results.

    *)
  4. resource_id : string option;
    (*

    The ID of the Amazon Web Services resource for which you want compliance information.

    *)
  5. resource_type : string option;
    (*

    The type of the Amazon Web Services resource for which you want compliance information.

    *)
}
type get_compliance_details_by_config_rule_response = {
  1. next_token : string option;
    (*

    The string that you use in a subsequent request to get the next page of results in a paginated response.

    *)
  2. evaluation_results : evaluation_result list option;
    (*

    Indicates whether the Amazon Web Services resource complies with the specified Config rule.

    *)
}
type get_compliance_details_by_config_rule_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    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, Config uses the default.

    *)
  3. compliance_types : compliance_type list option;
    (*

    Filters the results by compliance.

    INSUFFICIENT_DATA is a valid ComplianceType that is returned when an Config rule cannot be evaluated. However, INSUFFICIENT_DATA cannot be used as a ComplianceType for filtering results.

    *)
  4. config_rule_name : string;
    (*

    The name of the Config rule for which you want compliance information.

    *)
}
type oversized_configuration_item_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

The configuration item size is outside the allowable range.

type get_aggregate_resource_config_response = {
  1. configuration_item : configuration_item option;
    (*

    Returns a ConfigurationItem object.

    *)
}
type get_aggregate_resource_config_request = {
  1. resource_identifier : aggregate_resource_identifier;
    (*

    An object that identifies aggregate resource.

    *)
  2. configuration_aggregator_name : string;
    (*

    The name of the configuration aggregator.

    *)
}
type grouped_resource_count = {
  1. resource_count : int;
    (*

    The number of resources in the group.

    *)
  2. group_name : string;
    (*

    The name of the group that can be region, account ID, or resource type. For example, region1, region2 if the region was chosen as GroupByKey.

    *)
}

The count of resources that are grouped by the group name.

type get_aggregate_discovered_resource_counts_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. grouped_resource_counts : grouped_resource_count list option;
    (*

    Returns a list of GroupedResourceCount objects.

    *)
  3. group_by_key : string option;
    (*

    The key passed into the request object. If GroupByKey is not provided, the result will be empty.

    *)
  4. total_discovered_resources : int;
    (*

    The total number of resources that are present in an aggregator with the filters that you provide.

    *)
}
type resource_count_filters = {
  1. region : string option;
    (*

    The region where the account is located.

    *)
  2. account_id : string option;
    (*

    The 12-digit ID of the account.

    *)
  3. resource_type : resource_type option;
    (*

    The type of the Amazon Web Services resource.

    *)
}

Filters the resource count based on account ID, region, and resource type.

type resource_count_group_key =
  1. | AWS_REGION
  2. | ACCOUNT_ID
  3. | RESOURCE_TYPE
type get_aggregate_discovered_resource_counts_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of GroupedResourceCount objects returned on each page. The default is 1000. You cannot specify a number greater than 1000. If you specify 0, Config uses the default.

    *)
  3. group_by_key : resource_count_group_key option;
    (*

    The key to group the resource counts.

    *)
  4. filters : resource_count_filters option;
    (*

    Filters the results based on the ResourceCountFilters object.

    *)
  5. configuration_aggregator_name : string;
    (*

    The name of the configuration aggregator.

    *)
}
type aggregate_conformance_pack_compliance_count = {
  1. non_compliant_conformance_pack_count : int option;
    (*

    Number of noncompliant conformance packs.

    *)
  2. compliant_conformance_pack_count : int option;
    (*

    Number of compliant conformance packs.

    *)
}

The number of conformance packs that are compliant and noncompliant.

type aggregate_conformance_pack_compliance_summary = {
  1. group_name : string option;
    (*

    Groups the result based on Amazon Web Services account ID or Amazon Web Services Region.

    *)
  2. compliance_summary : aggregate_conformance_pack_compliance_count option;
    (*

    Returns an AggregateConformancePackComplianceCount object.

    *)
}

Provides a summary of compliance based on either account ID or region.

type get_aggregate_conformance_pack_compliance_summary_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. group_by_key : string option;
    (*

    Groups the result based on Amazon Web Services account ID or Amazon Web Services Region.

    *)
  3. aggregate_conformance_pack_compliance_summaries : aggregate_conformance_pack_compliance_summary list option;
    (*

    Returns a list of AggregateConformancePackComplianceSummary object.

    *)
}
type aggregate_conformance_pack_compliance_summary_filters = {
  1. aws_region : string option;
    (*

    The source Amazon Web Services Region from where the data is aggregated.

    *)
  2. account_id : string option;
    (*

    The 12-digit Amazon Web Services account ID of the source account.

    *)
}

Filters the results based on account ID and region.

type aggregate_conformance_pack_compliance_summary_group_key =
  1. | AWS_REGION
  2. | ACCOUNT_ID
type get_aggregate_conformance_pack_compliance_summary_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of results returned on each page. The default is maximum. If you specify 0, Config uses the default.

    *)
  3. group_by_key : aggregate_conformance_pack_compliance_summary_group_key option;
    (*

    Groups the result based on Amazon Web Services account ID or Amazon Web Services Region.

    *)
  4. filters : aggregate_conformance_pack_compliance_summary_filters option;
    (*

    Filters the results based on the AggregateConformancePackComplianceSummaryFilters object.

    *)
  5. configuration_aggregator_name : string;
    (*

    The name of the configuration aggregator.

    *)
}
type aggregate_compliance_count = {
  1. compliance_summary : compliance_summary option;
    (*

    The number of compliant and noncompliant Config rules.

    *)
  2. group_name : string option;
    (*

    The 12-digit account ID or region based on the GroupByKey value.

    *)
}

Returns the number of compliant and noncompliant rules for one or more accounts and regions in an aggregator.

type get_aggregate_config_rule_compliance_summary_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. aggregate_compliance_counts : aggregate_compliance_count list option;
    (*

    Returns a list of AggregateComplianceCounts object.

    *)
  3. group_by_key : string option;
    (*

    Groups the result based on ACCOUNT_ID or AWS_REGION.

    *)
}
type config_rule_compliance_summary_filters = {
  1. aws_region : string option;
    (*

    The source region where the data is aggregated.

    *)
  2. account_id : string option;
    (*

    The 12-digit account ID of the source account.

    *)
}

Filters the results based on the account IDs and regions.

type config_rule_compliance_summary_group_key =
  1. | AWS_REGION
  2. | ACCOUNT_ID
type get_aggregate_config_rule_compliance_summary_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    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, Config uses the default.

    *)
  3. group_by_key : config_rule_compliance_summary_group_key option;
    (*

    Groups the result based on ACCOUNT_ID or AWS_REGION.

    *)
  4. filters : config_rule_compliance_summary_filters option;
    (*

    Filters the results based on the ConfigRuleComplianceSummaryFilters object.

    *)
  5. configuration_aggregator_name : string;
    (*

    The name of the configuration aggregator.

    *)
}
type aggregate_evaluation_result = {
  1. aws_region : string option;
    (*

    The source region from where the data is aggregated.

    *)
  2. account_id : string option;
    (*

    The 12-digit account ID of the source account.

    *)
  3. annotation : string option;
    (*

    Supplementary information about how the agrregate evaluation determined the compliance.

    *)
  4. config_rule_invoked_time : float option;
    (*

    The time when the Config rule evaluated the Amazon Web Services resource.

    *)
  5. result_recorded_time : float option;
    (*

    The time when Config recorded the aggregate evaluation result.

    *)
  6. compliance_type : compliance_type option;
    (*

    The resource compliance status.

    For the AggregationEvaluationResult data type, Config supports only the COMPLIANT and NON_COMPLIANT. Config does not support the NOT_APPLICABLE and INSUFFICIENT_DATA value.

    *)
  7. evaluation_result_identifier : evaluation_result_identifier option;
    (*

    Uniquely identifies the evaluation result.

    *)
}

The details of an Config evaluation for an account ID and region in an aggregator. Provides the Amazon Web Services resource that was evaluated, the compliance of the resource, related time stamps, and supplementary information.

type get_aggregate_compliance_details_by_config_rule_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. aggregate_evaluation_results : aggregate_evaluation_result list option;
    (*

    Returns an AggregateEvaluationResults object.

    *)
}
type get_aggregate_compliance_details_by_config_rule_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    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, Config uses the default.

    *)
  3. compliance_type : compliance_type option;
    (*

    The resource compliance status.

    For the GetAggregateComplianceDetailsByConfigRuleRequest data type, Config supports only the COMPLIANT and NON_COMPLIANT. Config does not support the NOT_APPLICABLE and INSUFFICIENT_DATA values.

    *)
  4. aws_region : string;
    (*

    The source region from where the data is aggregated.

    *)
  5. account_id : string;
    (*

    The 12-digit account ID of the source account.

    *)
  6. config_rule_name : string;
    (*

    The name of the Config rule for which you want compliance information.

    *)
  7. configuration_aggregator_name : string;
    (*

    The name of the configuration aggregator.

    *)
}
type no_such_retention_configuration_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have specified a retention configuration that does not exist.

type describe_retention_configurations_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. retention_configurations : retention_configuration list option;
    (*

    Returns a retention configuration object.

    *)
}
type describe_retention_configurations_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. retention_configuration_names : string list option;
    (*

    A list of names of retention configurations for which you want details. If you do not specify a name, Config returns details for all the retention configurations for that account.

    Currently, Config supports only one retention configuration per region in your account.

    *)
}
type remediation_execution_state =
  1. | FAILED
  2. | SUCCEEDED
  3. | IN_PROGRESS
  4. | QUEUED
type remediation_execution_step_state =
  1. | FAILED
  2. | PENDING
  3. | SUCCEEDED
type remediation_execution_step = {
  1. stop_time : float option;
    (*

    The time when the step stopped.

    *)
  2. start_time : float option;
    (*

    The time when the step started.

    *)
  3. error_message : string option;
    (*

    An error message if the step was interrupted during execution.

    *)
  4. state : remediation_execution_step_state option;
    (*

    The valid status of the step.

    *)
  5. name : string option;
    (*

    The details of the step.

    *)
}

Name of the step from the SSM document.

type remediation_execution_status = {
  1. last_updated_time : float option;
    (*

    The time when the remediation execution was last updated.

    *)
  2. invocation_time : float option;
    (*

    Start time when the remediation was executed.

    *)
  3. step_details : remediation_execution_step list option;
    (*

    Details of every step.

    *)
  4. state : remediation_execution_state option;
    (*

    ENUM of the values.

    *)
  5. resource_key : resource_key option;
}

Provides details of the current status of the invoked remediation action for that resource.

type describe_remediation_execution_status_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. remediation_execution_statuses : remediation_execution_status list option;
    (*

    Returns a list of remediation execution statuses objects.

    *)
}
type describe_remediation_execution_status_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of RemediationExecutionStatuses returned on each page. The default is maximum. If you specify 0, Config uses the default.

    *)
  3. resource_keys : resource_key list option;
    (*

    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.

    *)
  4. config_rule_name : string;
    (*

    A list of Config rule names.

    *)
}
type describe_remediation_exceptions_response = {
  1. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
  2. remediation_exceptions : remediation_exception list option;
    (*

    Returns a list of remediation exception objects.

    *)
}
type describe_remediation_exceptions_request = {
  1. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of RemediationExceptionResourceKey returned on each page. The default is 25. If you specify 0, Config uses the default.

    *)
  3. resource_keys : remediation_exception_resource_key list option;
    (*

    An exception list of resource exception keys to be processed with the current request. Config adds exception for each resource key. For example, Config adds 3 exceptions for 3 resource keys.

    *)
  4. config_rule_name : string;
    (*

    The name of the Config rule.

    *)
}
type describe_remediation_configurations_response = {
  1. remediation_configurations : remediation_configuration list option;
    (*

    Returns a remediation configuration object.

    *)
}
type describe_remediation_configurations_request = {
  1. config_rule_names : string list;
    (*

    A list of Config rule names of remediation configurations for which you want details.

    *)
}
type pending_aggregation_request = {
  1. requester_aws_region : string option;
    (*

    The region requesting to aggregate data.

    *)
  2. requester_account_id : string option;
    (*

    The 12-digit account ID of the account requesting to aggregate data.

    *)
}

An object that represents the account ID and region of an aggregator account that is requesting authorization but is not yet authorized.

type describe_pending_aggregation_requests_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. pending_aggregation_requests : pending_aggregation_request list option;
    (*

    Returns a PendingAggregationRequests object.

    *)
}
type describe_pending_aggregation_requests_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of evaluation results returned on each page. The default is maximum. If you specify 0, Config uses the default.

    *)
}
type organization_resource_status =
  1. | UPDATE_FAILED
  2. | UPDATE_IN_PROGRESS
  3. | UPDATE_SUCCESSFUL
  4. | DELETE_IN_PROGRESS
  5. | DELETE_FAILED
  6. | DELETE_SUCCESSFUL
  7. | CREATE_FAILED
  8. | CREATE_IN_PROGRESS
  9. | CREATE_SUCCESSFUL
type organization_conformance_pack_status = {
  1. last_update_time : float option;
    (*

    The timestamp of the last update.

    *)
  2. error_message : string option;
    (*

    An error message indicating that organization conformance pack creation or deletion failed due to an error.

    *)
  3. error_code : string option;
    (*

    An error code that is returned when organization conformance pack creation or deletion has failed in a member account.

    *)
  4. status : organization_resource_status;
    (*

    Indicates deployment status of an organization conformance pack. When management account calls PutOrganizationConformancePack for the first time, conformance pack status is created in all the member accounts. When management account calls PutOrganizationConformancePack for the second time, conformance pack status is updated in all the member accounts. Additionally, conformance pack status is updated when one or more member accounts join or leave an organization. Conformance pack status is deleted when the management account deletes OrganizationConformancePack in all the member accounts and disables service access for config-multiaccountsetup.amazonaws.com.

    Config sets the state of the conformance pack to:

    • CREATE_SUCCESSFUL when an organization conformance pack has been successfully created in all the member accounts.
    • CREATE_IN_PROGRESS when an organization conformance pack creation is in progress.
    • CREATE_FAILED when an organization conformance pack creation failed in one or more member accounts within that organization.
    • DELETE_FAILED when an organization conformance pack deletion failed in one or more member accounts within that organization.
    • DELETE_IN_PROGRESS when an organization conformance pack deletion is in progress.
    • DELETE_SUCCESSFUL when an organization conformance pack has been successfully deleted from all the member accounts.
    • UPDATE_SUCCESSFUL when an organization conformance pack has been successfully updated in all the member accounts.
    • UPDATE_IN_PROGRESS when an organization conformance pack update is in progress.
    • UPDATE_FAILED when an organization conformance pack update failed in one or more member accounts within that organization.
    *)
  5. organization_conformance_pack_name : string;
    (*

    The name that you assign to organization conformance pack.

    *)
}

Returns the status for an organization conformance pack in an organization.

type describe_organization_conformance_pack_statuses_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. organization_conformance_pack_statuses : organization_conformance_pack_status list option;
    (*

    A list of OrganizationConformancePackStatus objects.

    *)
}
type describe_organization_conformance_pack_statuses_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of OrganizationConformancePackStatuses returned on each page. If you do no specify a number, Config uses the default. The default is 100.

    *)
  3. organization_conformance_pack_names : string list option;
    (*

    The names of organization conformance packs for which you want status details. If you do not specify any names, Config returns details for all your organization conformance packs.

    *)
}
type organization_conformance_pack = {
  1. last_update_time : float;
    (*

    Last time when organization conformation pack was updated.

    *)
  2. excluded_accounts : string list option;
    (*

    A comma-separated list of accounts excluded from organization conformance pack.

    *)
  3. conformance_pack_input_parameters : conformance_pack_input_parameter list option;
    (*

    A list of ConformancePackInputParameter objects.

    *)
  4. delivery_s3_key_prefix : string option;
    (*

    Any folder structure you want to add to an Amazon S3 bucket.

    This field is optional.

    *)
  5. delivery_s3_bucket : string option;
    (*

    The name of the Amazon S3 bucket where Config stores conformance pack templates.

    This field is optional.

    *)
  6. organization_conformance_pack_arn : string;
    (*

    Amazon Resource Name (ARN) of organization conformance pack.

    *)
  7. organization_conformance_pack_name : string;
    (*

    The name you assign to an organization conformance pack.

    *)
}

An organization conformance pack that has information about conformance packs that Config creates in member accounts.

type describe_organization_conformance_packs_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. organization_conformance_packs : organization_conformance_pack list option;
    (*

    Returns a list of OrganizationConformancePacks objects.

    *)
}
type describe_organization_conformance_packs_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of organization config packs returned on each page. If you do no specify a number, Config uses the default. The default is 100.

    *)
  3. organization_conformance_pack_names : string list option;
    (*

    The name that you assign to an organization conformance pack.

    *)
}
type organization_rule_status =
  1. | UPDATE_FAILED
  2. | UPDATE_IN_PROGRESS
  3. | UPDATE_SUCCESSFUL
  4. | DELETE_IN_PROGRESS
  5. | DELETE_FAILED
  6. | DELETE_SUCCESSFUL
  7. | CREATE_FAILED
  8. | CREATE_IN_PROGRESS
  9. | CREATE_SUCCESSFUL
type organization_config_rule_status = {
  1. last_update_time : float option;
    (*

    The timestamp of the last update.

    *)
  2. error_message : string option;
    (*

    An error message indicating that organization Config rule creation or deletion failed due to an error.

    *)
  3. error_code : string option;
    (*

    An error code that is returned when organization Config rule creation or deletion has failed.

    *)
  4. organization_rule_status : organization_rule_status;
    (*

    Indicates deployment status of an organization Config rule. When management account calls PutOrganizationConfigRule action for the first time, Config rule status is created in all the member accounts. When management account calls PutOrganizationConfigRule action for the second time, Config rule status is updated in all the member accounts. Additionally, Config rule status is updated when one or more member accounts join or leave an organization. Config rule status is deleted when the management account deletes OrganizationConfigRule in all the member accounts and disables service access for config-multiaccountsetup.amazonaws.com.

    Config sets the state of the rule to:

    • CREATE_SUCCESSFUL when an organization Config rule has been successfully created in all the member accounts.
    • CREATE_IN_PROGRESS when an organization Config rule creation is in progress.
    • CREATE_FAILED when an organization Config rule creation failed in one or more member accounts within that organization.
    • DELETE_FAILED when an organization Config rule deletion failed in one or more member accounts within that organization.
    • DELETE_IN_PROGRESS when an organization Config rule deletion is in progress.
    • DELETE_SUCCESSFUL when an organization Config rule has been successfully deleted from all the member accounts.
    • UPDATE_SUCCESSFUL when an organization Config rule has been successfully updated in all the member accounts.
    • UPDATE_IN_PROGRESS when an organization Config rule update is in progress.
    • UPDATE_FAILED when an organization Config rule update failed in one or more member accounts within that organization.
    *)
  5. organization_config_rule_name : string;
    (*

    The name that you assign to organization Config rule.

    *)
}

Returns the status for an organization Config rule in an organization.

type describe_organization_config_rule_statuses_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. organization_config_rule_statuses : organization_config_rule_status list option;
    (*

    A list of OrganizationConfigRuleStatus objects.

    *)
}
type describe_organization_config_rule_statuses_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of OrganizationConfigRuleStatuses returned on each page. If you do no specify a number, Config uses the default. The default is 100.

    *)
  3. organization_config_rule_names : string list option;
    (*

    The names of organization Config rules for which you want status details. If you do not specify any names, Config returns details for all your organization Config rules.

    *)
}
type organization_custom_policy_rule_metadata_no_policy = {
  1. debug_log_delivery_accounts : string list option;
    (*

    A list of accounts that you can enable debug logging for your organization Config Custom Policy rule. List is null when debug logging is enabled for all accounts.

    *)
  2. policy_runtime : string option;
    (*

    The runtime system for your organization Config Custom Policy rules. Guard is a policy-as-code language that allows you to write policies that are enforced by Config Custom Policy rules. For more information about Guard, see the Guard GitHub Repository.

    *)
  3. tag_value_scope : string option;
    (*

    The optional part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key).

    *)
  4. tag_key_scope : string option;
    (*

    One part of a key-value pair that make up a tag. A key is a general label that acts like a category for more specific tag values.

    *)
  5. resource_id_scope : string option;
    (*

    The ID of the Amazon Web Services resource that was evaluated.

    *)
  6. resource_types_scope : string list option;
    (*

    The type of the Amazon Web Services resource that was evaluated.

    *)
  7. maximum_execution_frequency : maximum_execution_frequency option;
    (*

    The maximum frequency with which Config runs evaluations for a rule. Your Config Custom Policy rule is triggered when Config delivers the configuration snapshot. For more information, see ConfigSnapshotDeliveryProperties.

    *)
  8. input_parameters : string option;
    (*

    A string, in JSON format, that is passed to your organization Config Custom Policy rule.

    *)
  9. organization_config_rule_trigger_types : organization_config_rule_trigger_type_no_s_n list option;
    (*

    The type of notification that triggers Config to run an evaluation for a rule. For Config Custom Policy rules, Config supports change triggered notification types:

    • ConfigurationItemChangeNotification - Triggers an evaluation when Config delivers a configuration item as a result of a resource change.
    • OversizedConfigurationItemChangeNotification - Triggers an evaluation when Config delivers an oversized configuration item. Config may generate this notification type when a resource changes and the notification exceeds the maximum size allowed by Amazon SNS.
    *)
  10. description : string option;
    (*

    The description that you provide for your organization Config Custom Policy rule.

    *)
}

metadata for your organization Config Custom Policy rule including the runtime system in use, which accounts have debug logging enabled, and other custom rule metadata such as resource type, resource ID of Amazon Web Services resource, and organization trigger types that trigger Config to evaluate Amazon Web Services resources against a rule.

type organization_config_rule = {
  1. organization_custom_policy_rule_metadata : organization_custom_policy_rule_metadata_no_policy option;
    (*

    An object that specifies metadata for your organization's Config Custom Policy rule. The metadata includes the runtime system in use, which accounts have debug logging enabled, and other custom rule metadata, such as resource type, resource ID of Amazon Web Services resource, and organization trigger types that initiate Config to evaluate Amazon Web Services resources against a rule.

    *)
  2. last_update_time : float option;
    (*

    The timestamp of the last update.

    *)
  3. excluded_accounts : string list option;
    (*

    A comma-separated list of accounts excluded from organization Config rule.

    *)
  4. organization_custom_rule_metadata : organization_custom_rule_metadata option;
    (*

    An OrganizationCustomRuleMetadata object.

    *)
  5. organization_managed_rule_metadata : organization_managed_rule_metadata option;
    (*

    An OrganizationManagedRuleMetadata object.

    *)
  6. organization_config_rule_arn : string;
    (*

    Amazon Resource Name (ARN) of organization Config rule.

    *)
  7. organization_config_rule_name : string;
    (*

    The name that you assign to organization Config rule.

    *)
}

An organization Config rule that has information about Config rules that Config creates in member accounts.

type describe_organization_config_rules_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. organization_config_rules : organization_config_rule list option;
    (*

    Returns a list of OrganizationConfigRule objects.

    *)
}
type describe_organization_config_rules_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of organization Config rules returned on each page. If you do no specify a number, Config uses the default. The default is 100.

    *)
  3. organization_config_rule_names : string list option;
    (*

    The names of organization Config rules for which you want details. If you do not specify any names, Config returns details for all your organization Config rules.

    *)
}
type no_such_delivery_channel_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You have specified a delivery channel that does not exist.

type delivery_status =
  1. | Not_Applicable
  2. | Failure
  3. | Success
type config_export_delivery_info = {
  1. next_delivery_time : float option;
    (*

    The time that the next delivery occurs.

    *)
  2. last_successful_time : float option;
    (*

    The time of the last successful delivery.

    *)
  3. last_attempt_time : float option;
    (*

    The time of the last attempted delivery.

    *)
  4. last_error_message : string option;
    (*

    The error message from the last attempted delivery.

    *)
  5. last_error_code : string option;
    (*

    The error code from the last attempted delivery.

    *)
  6. last_status : delivery_status option;
    (*

    Status of the last attempted delivery.

    *)
}

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.

type config_stream_delivery_info = {
  1. last_status_change_time : float option;
    (*

    The time from the last status change.

    *)
  2. last_error_message : string option;
    (*

    The error message from the last attempted delivery.

    *)
  3. last_error_code : string option;
    (*

    The error code from the last attempted delivery.

    *)
  4. last_status : delivery_status option;
    (*

    Status of the last attempted delivery.

    Note Providing an SNS topic on a DeliveryChannel for Config is optional. If the SNS delivery is turned off, the last status will be Not_Applicable.

    *)
}

A list that contains the status of the delivery of the configuration stream notification to the Amazon SNS topic.

type delivery_channel_status = {
  1. config_stream_delivery_info : config_stream_delivery_info option;
    (*

    A list containing the status of the delivery of the configuration stream notification to the specified Amazon SNS topic.

    *)
  2. config_history_delivery_info : config_export_delivery_info option;
    (*

    A list that contains the status of the delivery of the configuration history to the specified Amazon S3 bucket.

    *)
  3. config_snapshot_delivery_info : config_export_delivery_info option;
    (*

    A list containing the status of the delivery of the snapshot to the specified Amazon S3 bucket.

    *)
  4. name : string option;
    (*

    The name of the delivery channel.

    *)
}

The status of a specified delivery channel.

Valid values: Success | Failure

type describe_delivery_channel_status_response = {
  1. delivery_channels_status : delivery_channel_status list option;
    (*

    A list that contains the status of a specified delivery channel.

    *)
}

The output for the DescribeDeliveryChannelStatus action.

type describe_delivery_channel_status_request = {
  1. delivery_channel_names : string list option;
    (*

    A list of delivery channel names.

    *)
}

The input for the DeliveryChannelStatus action.

type describe_delivery_channels_response = {
  1. delivery_channels : delivery_channel list option;
    (*

    A list that contains the descriptions of the specified delivery channel.

    *)
}

The output for the DescribeDeliveryChannels action.

type describe_delivery_channels_request = {
  1. delivery_channel_names : string list option;
    (*

    A list of delivery channel names.

    *)
}

The input for the DescribeDeliveryChannels action.

type conformance_pack_state =
  1. | DELETE_FAILED
  2. | DELETE_IN_PROGRESS
  3. | CREATE_FAILED
  4. | CREATE_COMPLETE
  5. | CREATE_IN_PROGRESS
type conformance_pack_status_detail = {
  1. last_update_completed_time : float option;
    (*

    Last time when conformation pack creation and update was successful.

    *)
  2. last_update_requested_time : float;
    (*

    Last time when conformation pack creation and update was requested.

    *)
  3. conformance_pack_status_reason : string option;
    (*

    The reason of conformance pack creation failure.

    *)
  4. stack_arn : string;
    (*

    Amazon Resource Name (ARN) of CloudFormation stack.

    *)
  5. conformance_pack_state : conformance_pack_state;
    (*

    Indicates deployment status of conformance pack.

    Config sets the state of the conformance pack to:

    • CREATE_IN_PROGRESS when a conformance pack creation is in progress for an account.
    • CREATE_COMPLETE when a conformance pack has been successfully created in your account.
    • CREATE_FAILED when a conformance pack creation failed in your account.
    • DELETE_IN_PROGRESS when a conformance pack deletion is in progress.
    • DELETE_FAILED when a conformance pack deletion failed in your account.
    *)
  6. conformance_pack_arn : string;
    (*

    Amazon Resource Name (ARN) of comformance pack.

    *)
  7. conformance_pack_id : string;
    (*

    ID of the conformance pack.

    *)
  8. conformance_pack_name : string;
    (*

    Name of the conformance pack.

    *)
}

Status details of a conformance pack.

type describe_conformance_pack_status_response = {
  1. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
  2. conformance_pack_status_details : conformance_pack_status_detail list option;
    (*

    A list of ConformancePackStatusDetail objects.

    *)
}
type describe_conformance_pack_status_request = {
  1. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of conformance packs status returned on each page.

    *)
  3. conformance_pack_names : string list option;
    (*

    Comma-separated list of conformance pack names.

    *)
}
type conformance_pack_detail = {
  1. template_ssm_document_details : template_ssm_document_details option;
    (*

    An object that contains the name or Amazon Resource Name (ARN) of the Amazon Web Services Systems Manager document (SSM document) and the version of the SSM document that is used to create a conformance pack.

    *)
  2. created_by : string option;
    (*

    The Amazon Web Services service that created the conformance pack.

    *)
  3. last_update_requested_time : float option;
    (*

    The last time a conformation pack update was requested.

    *)
  4. conformance_pack_input_parameters : conformance_pack_input_parameter list option;
    (*

    A list of ConformancePackInputParameter objects.

    *)
  5. delivery_s3_key_prefix : string option;
    (*

    The prefix for the Amazon S3 bucket.

    This field is optional.

    *)
  6. delivery_s3_bucket : string option;
    (*

    The name of the Amazon S3 bucket where Config stores conformance pack templates.

    This field is optional.

    *)
  7. conformance_pack_id : string;
    (*

    ID of the conformance pack.

    *)
  8. conformance_pack_arn : string;
    (*

    Amazon Resource Name (ARN) of the conformance pack.

    *)
  9. conformance_pack_name : string;
    (*

    Name of the conformance pack.

    *)
}

Returns details of a conformance pack. A conformance pack is a collection of Config rules and remediation actions that can be easily deployed in an account and a region.

type describe_conformance_packs_response = {
  1. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
  2. conformance_pack_details : conformance_pack_detail list option;
    (*

    Returns a list of ConformancePackDetail objects.

    *)
}
type describe_conformance_packs_request = {
  1. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of conformance packs returned on each page.

    *)
  3. conformance_pack_names : string list option;
    (*

    Comma-separated list of conformance pack names for which you want details. If you do not specify any names, Config returns details for all your conformance packs.

    *)
}
type conformance_pack_rule_compliance = {
  1. controls : string list option;
    (*

    Controls for the conformance pack. A control is a process to prevent or detect problems while meeting objectives. A control can align with a specific compliance regime or map to internal controls defined by an organization.

    *)
  2. compliance_type : conformance_pack_compliance_type option;
    (*

    Compliance of the Config rule.

    *)
  3. config_rule_name : string option;
    (*

    Name of the Config rule.

    *)
}

Compliance information of one or more Config rules within a conformance pack. You can filter using Config rule names and compliance types.

type describe_conformance_pack_compliance_response = {
  1. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
  2. conformance_pack_rule_compliance_list : conformance_pack_rule_compliance list;
    (*

    Returns a list of ConformancePackRuleCompliance objects.

    *)
  3. conformance_pack_name : string;
    (*

    Name of the conformance pack.

    *)
}
type conformance_pack_compliance_filters = {
  1. compliance_type : conformance_pack_compliance_type option;
    (*

    Filters the results by compliance.

    The allowed values are COMPLIANT and NON_COMPLIANT. INSUFFICIENT_DATA is not supported.

    *)
  2. config_rule_names : string list option;
    (*

    Filters the results by Config rule names.

    *)
}

Filters the conformance pack by compliance types and Config rule names.

type describe_conformance_pack_compliance_request = {
  1. next_token : string option;
    (*

    The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of Config rules within a conformance pack are returned on each page.

    *)
  3. filters : conformance_pack_compliance_filters option;
    (*

    A ConformancePackComplianceFilters object.

    *)
  4. conformance_pack_name : string;
    (*

    Name of the conformance pack.

    *)
}
type recorder_status =
  1. | Failure
  2. | Success
  3. | Pending
type configuration_recorder_status = {
  1. last_status_change_time : float option;
    (*

    The time of the latest change in status of an recording event processed by the recorder.

    *)
  2. last_error_message : string option;
    (*

    The latest error message from when the recorder last failed.

    *)
  3. last_error_code : string option;
    (*

    The latest error code from when the recorder last failed.

    *)
  4. last_status : recorder_status option;
    (*

    The status of the latest recording event processed by the recorder.

    *)
  5. recording : bool option;
    (*

    Specifies whether or not the recorder is currently recording.

    *)
  6. last_stop_time : float option;
    (*

    The time the recorder was last stopped.

    *)
  7. last_start_time : float option;
    (*

    The time the recorder was last started.

    *)
  8. name : string option;
    (*

    The name of the configuration recorder.

    *)
}

The current status of the configuration recorder.

For a detailed status of recording events over time, add your Config events to CloudWatch metrics and use CloudWatch metrics.

type describe_configuration_recorder_status_response = {
  1. configuration_recorders_status : configuration_recorder_status list option;
    (*

    A list that contains status of the specified recorders.

    *)
}

The output for the DescribeConfigurationRecorderStatus action, in JSON format.

type describe_configuration_recorder_status_request = {
  1. configuration_recorder_names : string list option;
    (*

    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.

    *)
}

The input for the DescribeConfigurationRecorderStatus action.

type describe_configuration_recorders_response = {
  1. configuration_recorders : configuration_recorder list option;
    (*

    A list that contains the descriptions of the specified configuration recorders.

    *)
}

The output for the DescribeConfigurationRecorders action.

type describe_configuration_recorders_request = {
  1. configuration_recorder_names : string list option;
    (*

    A list of configuration recorder names.

    *)
}

The input for the DescribeConfigurationRecorders action.

type aggregated_source_type =
  1. | ORGANIZATION
  2. | ACCOUNT
type aggregated_source_status_type =
  1. | OUTDATED
  2. | SUCCEEDED
  3. | FAILED
type aggregated_source_status = {
  1. last_error_message : string option;
    (*

    The message indicating that the source account aggregation failed due to an error.

    *)
  2. last_error_code : string option;
    (*

    The error code that Config returned when the source account aggregation last failed.

    *)
  3. last_update_time : float option;
    (*

    The time of the last update.

    *)
  4. last_update_status : aggregated_source_status_type option;
    (*

    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.
    *)
  5. aws_region : string option;
    (*

    The region authorized to collect aggregated data.

    *)
  6. source_type : aggregated_source_type option;
    (*

    The source account or an organization.

    *)
  7. source_id : string option;
    (*

    The source account ID or an organization.

    *)
}

The current sync status between the source and the aggregator account.

type describe_configuration_aggregator_sources_status_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. aggregated_source_status_list : aggregated_source_status list option;
    (*

    Returns an AggregatedSourceStatus object.

    *)
}
type describe_configuration_aggregator_sources_status_request = {
  1. limit : int option;
    (*

    The maximum number of AggregatorSourceStatus returned on each page. The default is maximum. If you specify 0, Config uses the default.

    *)
  2. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  3. update_status : aggregated_source_status_type list option;
    (*

    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.
    *)
  4. configuration_aggregator_name : string;
    (*

    The name of the configuration aggregator.

    *)
}
type describe_configuration_aggregators_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. configuration_aggregators : configuration_aggregator list option;
    (*

    Returns a ConfigurationAggregators object.

    *)
}
type describe_configuration_aggregators_request = {
  1. limit : int option;
    (*

    The maximum number of configuration aggregators returned on each page. The default is maximum. If you specify 0, Config uses the default.

    *)
  2. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  3. configuration_aggregator_names : string list option;
    (*

    The name of the configuration aggregators.

    *)
}
type describe_config_rules_response = {
  1. next_token : string option;
    (*

    The string that you use in a subsequent request to get the next page of results in a paginated response.

    *)
  2. config_rules : config_rule list option;
    (*

    The details about your Config rules.

    *)
}
type describe_config_rules_filters = {
  1. evaluation_mode : evaluation_mode option;
    (*

    The mode of an evaluation. The valid values are Detective or Proactive.

    *)
}

Returns a filtered list of Detective or Proactive Config rules. By default, if the filter is not defined, this API returns an unfiltered list. For more information on Detective or Proactive Config rules, see Evaluation Mode in the Config Developer Guide.

type describe_config_rules_request = {
  1. filters : describe_config_rules_filters option;
    (*

    Returns a list of Detective or Proactive Config rules. By default, this API returns an unfiltered list. For more information on Detective or Proactive Config rules, see Evaluation Mode in the Config Developer Guide.

    *)
  2. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  3. config_rule_names : string list option;
    (*

    The names of the Config rules for which you want details. If you do not specify any names, Config returns details for all your rules.

    *)
}
type config_rule_evaluation_status = {
  1. last_debug_log_delivery_time : float option;
    (*

    The time Config last attempted to deliver a debug log for your Config Custom Policy rules.

    *)
  2. last_debug_log_delivery_status_reason : string option;
    (*

    The reason Config was not able to deliver a debug log. This is for the last failed attempt to retrieve a debug log for your Config Custom Policy rules.

    *)
  3. last_debug_log_delivery_status : string option;
    (*

    The status of the last attempted delivery of a debug log for your Config Custom Policy rules. Either Successful or Failed.

    *)
  4. first_evaluation_started : bool option;
    (*

    Indicates whether Config has evaluated your resources against the rule at least once.

    • true - Config has evaluated your Amazon Web Services resources against the rule at least once.
    • false - Config has not finished evaluating your Amazon Web Services resources against the rule at least once.
    *)
  5. last_error_message : string option;
    (*

    The error message that Config returned when the rule last failed.

    *)
  6. last_error_code : string option;
    (*

    The error code that Config returned when the rule last failed.

    *)
  7. last_deactivated_time : float option;
    (*

    The time that you last turned off the Config rule.

    *)
  8. first_activated_time : float option;
    (*

    The time that you first activated the Config rule.

    *)
  9. last_failed_evaluation_time : float option;
    (*

    The time that Config last failed to evaluate your Amazon Web Services resources against the rule.

    *)
  10. last_successful_evaluation_time : float option;
    (*

    The time that Config last successfully evaluated your Amazon Web Services resources against the rule.

    *)
  11. last_failed_invocation_time : float option;
    (*

    The time that Config last failed to invoke the Config rule to evaluate your Amazon Web Services resources.

    *)
  12. last_successful_invocation_time : float option;
    (*

    The time that Config last successfully invoked the Config rule to evaluate your Amazon Web Services resources.

    *)
  13. config_rule_id : string option;
    (*

    The ID of the Config rule.

    *)
  14. config_rule_arn : string option;
    (*

    The Amazon Resource Name (ARN) of the Config rule.

    *)
  15. config_rule_name : string option;
    (*

    The name of the Config rule.

    *)
}

Status information for your Config Managed rules and Config Custom Policy 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 Config Custom Lambda rules.

type describe_config_rule_evaluation_status_response = {
  1. next_token : string option;
    (*

    The string that you use in a subsequent request to get the next page of results in a paginated response.

    *)
  2. config_rules_evaluation_status : config_rule_evaluation_status list option;
    (*

    Status information about your Config managed rules.

    *)
}
type describe_config_rule_evaluation_status_request = {
  1. limit : int option;
    (*

    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 1000 rules.

    For information about requesting a rule limit increase, see Config Limits in the Amazon Web Services General Reference Guide.

    *)
  2. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  3. config_rule_names : string list option;
    (*

    The name of the Config managed rules for which you want status information. If you do not specify any names, Config returns status information for all Config managed rules that you use.

    *)
}
type compliance = {
  1. compliance_contributor_count : compliance_contributor_count option;
    (*

    The number of Amazon Web Services resources or Config rules that cause a result of NON_COMPLIANT, up to a maximum number.

    *)
  2. compliance_type : compliance_type option;
    (*

    Indicates whether an Amazon Web Services resource or Config rule is compliant.

    A resource is compliant if it complies with all of the 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.

    Config returns the INSUFFICIENT_DATA value when no evaluation results are available for the Amazon Web Services resource or Config rule.

    For the Compliance data type, Config supports only COMPLIANT, NON_COMPLIANT, and INSUFFICIENT_DATA values. Config does not support the NOT_APPLICABLE value for the Compliance data type.

    *)
}

Indicates whether an Amazon Web Services resource or Config rule is compliant and provides the number of contributors that affect the compliance.

type compliance_by_resource = {
  1. compliance : compliance option;
    (*

    Indicates whether the Amazon Web Services resource complies with all of the Config rules that evaluated it.

    *)
  2. resource_id : string option;
    (*

    The ID of the Amazon Web Services resource that was evaluated.

    *)
  3. resource_type : string option;
    (*

    The type of the Amazon Web Services resource that was evaluated.

    *)
}

Indicates whether an Amazon Web Services resource that is evaluated according to one or more 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.

type describe_compliance_by_resource_response = {
  1. next_token : string option;
    (*

    The string that you use in a subsequent request to get the next page of results in a paginated response.

    *)
  2. compliance_by_resources : compliance_by_resource list option;
    (*

    Indicates whether the specified Amazon Web Services resource complies with all of the Config rules that evaluate it.

    *)
}
type describe_compliance_by_resource_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    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, Config uses the default.

    *)
  3. compliance_types : compliance_type list option;
    (*

    Filters the results by compliance.

    *)
  4. resource_id : string option;
    (*

    The ID of the Amazon Web Services 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 ResourceType.

    *)
  5. resource_type : string option;
    (*

    The types of Amazon Web Services resources for which you want compliance information (for example, AWS::EC2::Instance). For this action, you can specify that the resource type is an Amazon Web Services account by specifying AWS::::Account.

    *)
}
type compliance_by_config_rule = {
  1. compliance : compliance option;
    (*

    Indicates whether the Config rule is compliant.

    *)
  2. config_rule_name : string option;
    (*

    The name of the Config rule.

    *)
}

Indicates whether an 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.

type describe_compliance_by_config_rule_response = {
  1. next_token : string option;
    (*

    The string that you use in a subsequent request to get the next page of results in a paginated response.

    *)
  2. compliance_by_config_rules : compliance_by_config_rule list option;
    (*

    Indicates whether each of the specified Config rules is compliant.

    *)
}
type describe_compliance_by_config_rule_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. compliance_types : compliance_type list option;
    (*

    Filters the results by compliance.

    *)
  3. config_rule_names : string list option;
    (*

    Specify one or more Config rule names to filter the results by rule.

    *)
}
type describe_aggregation_authorizations_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. aggregation_authorizations : aggregation_authorization list option;
    (*

    Returns a list of authorizations granted to various aggregator accounts and regions.

    *)
}
type describe_aggregation_authorizations_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of AggregationAuthorizations returned on each page. The default is maximum. If you specify 0, Config uses the default.

    *)
}
type aggregate_conformance_pack_compliance = {
  1. total_rule_count : int option;
    (*

    Total number of compliant rules, noncompliant rules, and the rules that do not have any applicable resources to evaluate upon resulting in insufficient data.

    *)
  2. non_compliant_rule_count : int option;
    (*

    The number of noncompliant Config Rules.

    *)
  3. compliant_rule_count : int option;
    (*

    The number of compliant Config Rules.

    *)
  4. compliance_type : conformance_pack_compliance_type option;
    (*

    The compliance status of the conformance pack.

    *)
}

Provides the number of compliant and noncompliant rules within a conformance pack. Also provides the compliance status of the conformance pack and the total rule count which includes compliant rules, noncompliant rules, and rules that cannot be evaluated due to insufficient data.

A conformance pack is compliant if all of the rules in a conformance packs are compliant. It is noncompliant if any of the rules are not compliant. The compliance status of a conformance pack is INSUFFICIENT_DATA only if all rules within a conformance pack cannot be evaluated due to insufficient data. If some of the rules in a conformance pack are compliant but the compliance status of other rules in that same conformance pack is INSUFFICIENT_DATA, the conformance pack shows compliant.

type aggregate_compliance_by_conformance_pack = {
  1. aws_region : string option;
    (*

    The source Amazon Web Services Region from where the data is aggregated.

    *)
  2. account_id : string option;
    (*

    The 12-digit Amazon Web Services account ID of the source account.

    *)
  3. compliance : aggregate_conformance_pack_compliance option;
    (*

    The compliance status of the conformance pack.

    *)
  4. conformance_pack_name : string option;
    (*

    The name of the conformance pack.

    *)
}

Provides aggregate compliance of the conformance pack. Indicates whether a conformance pack is compliant based on the name of the conformance pack, account ID, and region.

A conformance pack is compliant if all of the rules in a conformance packs are compliant. It is noncompliant if any of the rules are not compliant. The compliance status of a conformance pack is INSUFFICIENT_DATA only if all rules within a conformance pack cannot be evaluated due to insufficient data. If some of the rules in a conformance pack are compliant but the compliance status of other rules in that same conformance pack is INSUFFICIENT_DATA, the conformance pack shows compliant.

type describe_aggregate_compliance_by_conformance_packs_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. aggregate_compliance_by_conformance_packs : aggregate_compliance_by_conformance_pack list option;
    (*

    Returns the AggregateComplianceByConformancePack object.

    *)
}
type aggregate_conformance_pack_compliance_filters = {
  1. aws_region : string option;
    (*

    The source Amazon Web Services Region from where the data is aggregated.

    *)
  2. account_id : string option;
    (*

    The 12-digit Amazon Web Services account ID of the source account.

    *)
  3. compliance_type : conformance_pack_compliance_type option;
    (*

    The compliance status of the conformance pack.

    *)
  4. conformance_pack_name : string option;
    (*

    The name of the conformance pack.

    *)
}

Filters the conformance packs based on an account ID, region, compliance type, and the name of the conformance pack.

type describe_aggregate_compliance_by_conformance_packs_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of conformance packs compliance details returned on each page. The default is maximum. If you specify 0, Config uses the default.

    *)
  3. filters : aggregate_conformance_pack_compliance_filters option;
    (*

    Filters the result by AggregateConformancePackComplianceFilters object.

    *)
  4. configuration_aggregator_name : string;
    (*

    The name of the configuration aggregator.

    *)
}
type aggregate_compliance_by_config_rule = {
  1. aws_region : string option;
    (*

    The source region from where the data is aggregated.

    *)
  2. account_id : string option;
    (*

    The 12-digit account ID of the source account.

    *)
  3. compliance : compliance option;
    (*

    Indicates whether an Amazon Web Services resource or Config rule is compliant and provides the number of contributors that affect the compliance.

    *)
  4. config_rule_name : string option;
    (*

    The name of the Config rule.

    *)
}

Indicates whether an 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.

type describe_aggregate_compliance_by_config_rules_response = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. aggregate_compliance_by_config_rules : aggregate_compliance_by_config_rule list option;
    (*

    Returns a list of AggregateComplianceByConfigRule object.

    *)
}
type config_rule_compliance_filters = {
  1. aws_region : string option;
    (*

    The source region where the data is aggregated.

    *)
  2. account_id : string option;
    (*

    The 12-digit account ID of the source account.

    *)
  3. compliance_type : compliance_type option;
    (*

    The rule compliance status.

    For the ConfigRuleComplianceFilters data type, Config supports only COMPLIANT and NON_COMPLIANT. Config does not support the NOT_APPLICABLE and the INSUFFICIENT_DATA values.

    *)
  4. config_rule_name : string option;
    (*

    The name of the Config rule.

    *)
}

Filters the compliance results based on account ID, region, compliance type, and rule name.

type describe_aggregate_compliance_by_config_rules_request = {
  1. next_token : string option;
    (*

    The nextToken string returned on a previous page that you use to get the next page of results in a paginated response.

    *)
  2. limit : int option;
    (*

    The maximum number of evaluation results returned on each page. The default is maximum. If you specify 0, Config uses the default.

    *)
  3. filters : config_rule_compliance_filters option;
    (*

    Filters the results by ConfigRuleComplianceFilters object.

    *)
  4. configuration_aggregator_name : string;
    (*

    The name of the configuration aggregator.

    *)
}
type deliver_config_snapshot_response = {
  1. config_snapshot_id : string option;
    (*

    The ID of the snapshot that is being created.

    *)
}

The output for the DeliverConfigSnapshot action, in JSON format.

type deliver_config_snapshot_request = {
  1. delivery_channel_name : string;
    (*

    The name of the delivery channel through which the snapshot is delivered.

    *)
}

The input for the DeliverConfigSnapshot action.

type delete_stored_query_response = unit
type delete_stored_query_request = {
  1. query_name : string;
    (*

    The name of the query that you want to delete.

    *)
}
type delete_retention_configuration_request = {
  1. retention_configuration_name : string;
    (*

    The name of the retention configuration to delete.

    *)
}
type delete_resource_config_request = {
  1. resource_id : string;
    (*

    Unique identifier of the resource.

    *)
  2. resource_type : string;
    (*

    The type of the resource.

    *)
}
type no_such_remediation_exception_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You tried to delete a remediation exception that does not exist.

type failed_delete_remediation_exceptions_batch = {
  1. failed_items : remediation_exception_resource_key list option;
    (*

    Returns remediation exception resource key object of the failed items.

    *)
  2. failure_message : string option;
    (*

    Returns a failure message for delete remediation exception. For example, Config creates an exception due to an internal error.

    *)
}

List of each of the failed delete remediation exceptions with specific reasons.

type delete_remediation_exceptions_response = {
  1. failed_batches : failed_delete_remediation_exceptions_batch list option;
    (*

    Returns a list of failed delete remediation exceptions batch objects. Each object in the batch consists of a list of failed items and failure messages.

    *)
}
type delete_remediation_exceptions_request = {
  1. resource_keys : remediation_exception_resource_key list;
    (*

    An exception list of resource exception keys to be processed with the current request. Config adds exception for each resource key. For example, Config adds 3 exceptions for 3 resource keys.

    *)
  2. config_rule_name : string;
    (*

    The name of the Config rule for which you want to delete remediation exception configuration.

    *)
}
type remediation_in_progress_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

Remediation action is in progress. You can either cancel execution in Amazon Web Services Systems Manager or wait and try again later.

type delete_remediation_configuration_response = unit
type delete_remediation_configuration_request = {
  1. resource_type : string option;
    (*

    The type of a resource.

    *)
  2. config_rule_name : string;
    (*

    The name of the Config rule for which you want to delete remediation configuration.

    *)
}
type delete_pending_aggregation_request_request = {
  1. requester_aws_region : string;
    (*

    The region requesting to aggregate data.

    *)
  2. requester_account_id : string;
    (*

    The 12-digit account ID of the account requesting to aggregate data.

    *)
}
type delete_organization_conformance_pack_request = {
  1. organization_conformance_pack_name : string;
    (*

    The name of organization conformance pack that you want to delete.

    *)
}
type delete_organization_config_rule_request = {
  1. organization_config_rule_name : string;
    (*

    The name of organization Config rule that you want to delete.

    *)
}
type delete_evaluation_results_response = unit

The output when you delete the evaluation results for the specified Config rule.

type delete_evaluation_results_request = {
  1. config_rule_name : string;
    (*

    The name of the Config rule for which you want to delete the evaluation results.

    *)
}
type last_delivery_channel_delete_failed_exception = {
  1. message : string option;
    (*

    Error executing the command

    *)
}

You cannot delete the delivery channel you specified because the configuration recorder is running.

type delete_delivery_channel_request = {
  1. delivery_channel_name : string;
    (*

    The name of the delivery channel to delete.

    *)
}

The input for the DeleteDeliveryChannel action. The action accepts the following data, in JSON format.

type delete_conformance_pack_request = {
  1. conformance_pack_name : string;
    (*

    Name of the conformance pack you want to delete.

    *)
}
type delete_configuration_recorder_request = {
  1. configuration_recorder_name : string;
    (*

    The name of the configuration recorder to be deleted. You can retrieve the name of your configuration recorder by using the DescribeConfigurationRecorders action.

    *)
}

The request object for the DeleteConfigurationRecorder action.

type delete_configuration_aggregator_request = {
  1. configuration_aggregator_name : string;
    (*

    The name of the configuration aggregator.

    *)
}
type delete_config_rule_request = {
  1. config_rule_name : string;
    (*

    The name of the Config rule that you want to delete.

    *)
}
type delete_aggregation_authorization_request = {
  1. authorized_aws_region : string;
    (*

    The region authorized to collect aggregated data.

    *)
  2. authorized_account_id : string;
    (*

    The 12-digit account ID of the account authorized to aggregate data.

    *)
}
type base_configuration_item = {
  1. configuration_item_delivery_time : float option;
    (*

    The time when configuration changes for the resource were delivered.

    This field is optional and is not guaranteed to be present in a configuration item (CI). If you are using daily recording, this field will be populated. However, if you are using continuous recording, this field will be omitted since the delivery time is instantaneous as the CI is available right away. For more information on daily recording and continuous recording, see Recording Frequency in the Config Developer Guide.

    *)
  2. recording_frequency : recording_frequency option;
    (*

    The recording frequency that Config uses to record configuration changes for the resource.

    *)
  3. supplementary_configuration : (string * string) list option;
    (*

    Configuration attributes that Config returns for certain resource types to supplement the information returned for the configuration parameter.

    *)
  4. configuration : string option;
    (*

    The description of the resource configuration.

    *)
  5. resource_creation_time : float option;
    (*

    The time stamp when the resource was created.

    *)
  6. availability_zone : string option;
    (*

    The Availability Zone associated with the resource.

    *)
  7. aws_region : string option;
    (*

    The region where the resource resides.

    *)
  8. resource_name : string option;
    (*

    The custom name of the resource, if available.

    *)
  9. resource_id : string option;
    (*

    The ID of the resource (for example., sg-xxxxxx).

    *)
  10. resource_type : resource_type option;
    (*

    The type of Amazon Web Services resource.

    *)
  11. arn : string option;
    (*

    The Amazon Resource Name (ARN) of the resource.

    *)
  12. configuration_state_id : string option;
    (*

    An identifier that indicates the ordering of the configuration items of a resource.

    *)
  13. configuration_item_status : configuration_item_status option;
    (*

    The configuration item status. Valid values include:

    • OK – The resource configuration has been updated.
    • ResourceDiscovered – The resource was newly discovered.
    • ResourceNotRecorded – The resource was discovered, but its configuration was not recorded since the recorder doesn't record resources of this type.
    • ResourceDeleted – The resource was deleted
    • ResourceDeletedNotRecorded – The resource was deleted, but its configuration was not recorded since the recorder doesn't record resources of this type.
    *)
  14. configuration_item_capture_time : float option;
    (*

    The time when the recording of configuration changes was initiated for the resource.

    *)
  15. account_id : string option;
    (*

    The 12-digit Amazon Web Services account ID associated with the resource.

    *)
  16. version : string option;
    (*

    The version number of the resource configuration.

    *)
}

The detailed configurations of a specified resource.

type batch_get_resource_config_response = {
  1. unprocessed_resource_keys : resource_key list option;
    (*

    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.

    *)
  2. base_configuration_items : base_configuration_item list option;
    (*

    A list that contains the current configuration of one or more resources.

    *)
}
type batch_get_resource_config_request = {
  1. resource_keys : resource_key list;
    (*

    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.

    *)
}
type batch_get_aggregate_resource_config_response = {
  1. unprocessed_resource_identifiers : aggregate_resource_identifier list option;
    (*

    A list of resource identifiers that were not processed with current scope. The list is empty if all the resources are processed.

    *)
  2. base_configuration_items : base_configuration_item list option;
    (*

    A list that contains the current configuration of one or more resources.

    *)
}
type batch_get_aggregate_resource_config_request = {
  1. resource_identifiers : aggregate_resource_identifier list;
    (*

    A list of aggregate ResourceIdentifiers objects.

    *)
  2. configuration_aggregator_name : string;
    (*

    The name of the configuration aggregator.

    *)
}

Config Config provides a way to keep track of the configurations of all the Amazon Web Services resources associated with your Amazon Web Services account. You can use Config to get the current and historical configurations of each Amazon Web Services resource and also to get information about the relationship between the resources. An Amazon Web Services 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 Config, see Supported Amazon Web Services resources.

You can access and manage Config through the Amazon Web Services Management Console, the Amazon Web Services Command Line Interface (Amazon Web Services CLI), the Config API, or the Amazon Web Services SDKs for Config. This reference guide contains documentation for the Config API and the Amazon Web Services CLI commands that you can use to manage Config. The Config API uses the Signature Version 4 protocol for signing requests. For more information about how to sign a request with this protocol, see Signature Version 4 Signing Process. For detailed information about Config features and their associated actions or commands, as well as how to work with Amazon Web Services Management Console, see What Is Config in the Config Developer Guide.

type base_document = Smaws_Lib.Json.t

Builders

val make_untag_resource_request : tag_keys:string list -> resource_arn:string -> unit -> untag_resource_request
val make_aggregate_resource_identifier : ?resource_name:string -> resource_type:resource_type -> resource_id:string -> source_region:string -> source_account_id:string -> unit -> aggregate_resource_identifier
val make_time_window : ?end_time:float -> ?start_time:float -> unit -> time_window

Create a time_window type

val make_template_ssm_document_details : ?document_version:string -> document_name:string -> unit -> template_ssm_document_details
val make_tag : ?value:string -> ?key:string -> unit -> tag

Create a tag type

val make_tag_resource_request : tags:tag list -> resource_arn:string -> unit -> tag_resource_request

Create a tag_resource_request type

val make_stored_query_metadata : ?description:string -> query_name:string -> query_arn:string -> query_id:string -> unit -> stored_query_metadata

Create a stored_query_metadata type

val make_stored_query : ?expression:string -> ?description:string -> ?query_arn:string -> ?query_id:string -> query_name:string -> unit -> stored_query

Create a stored_query type

val make_stop_configuration_recorder_request : configuration_recorder_name:string -> unit -> stop_configuration_recorder_request
val make_status_detail_filters : ?member_account_rule_status:member_account_rule_status -> ?account_id:string -> unit -> status_detail_filters

Create a status_detail_filters type

val make_static_value : values:string list -> unit -> static_value

Create a static_value type

val make_start_resource_evaluation_response : ?resource_evaluation_id:string -> unit -> start_resource_evaluation_response
val make_resource_details : ?resource_configuration_schema_type:resource_configuration_schema_type -> resource_configuration:string -> resource_type:string -> resource_id:string -> unit -> resource_details

Create a resource_details type

val make_evaluation_context : ?evaluation_context_identifier:string -> unit -> evaluation_context

Create a evaluation_context type

val make_start_resource_evaluation_request : ?client_token:string -> ?evaluation_timeout:int -> ?evaluation_context:evaluation_context -> evaluation_mode:evaluation_mode -> resource_details:resource_details -> unit -> start_resource_evaluation_request
val make_resource_key : resource_id:string -> resource_type:resource_type -> unit -> resource_key

Create a resource_key type

val make_start_remediation_execution_response : ?failed_items:resource_key list -> ?failure_message:string -> unit -> start_remediation_execution_response
val make_start_remediation_execution_request : resource_keys:resource_key list -> config_rule_name:string -> unit -> start_remediation_execution_request
val make_start_configuration_recorder_request : configuration_recorder_name:string -> unit -> start_configuration_recorder_request
val make_start_config_rules_evaluation_response : unit -> start_config_rules_evaluation_response
val make_start_config_rules_evaluation_request : ?config_rule_names:string list -> unit -> start_config_rules_evaluation_request
val make_field_info : ?name:string -> unit -> field_info

Create a field_info type

val make_query_info : ?select_fields:field_info list -> unit -> query_info

Create a query_info type

val make_select_resource_config_response : ?next_token:string -> ?query_info:query_info -> ?results:string list -> unit -> select_resource_config_response
val make_select_resource_config_request : ?next_token:string -> ?limit:int -> expression:string -> unit -> select_resource_config_request
val make_select_aggregate_resource_config_response : ?next_token:string -> ?query_info:query_info -> ?results:string list -> unit -> select_aggregate_resource_config_response
val make_select_aggregate_resource_config_request : ?next_token:string -> ?max_results:int -> ?limit:int -> configuration_aggregator_name:string -> expression:string -> unit -> select_aggregate_resource_config_request
val make_put_stored_query_response : ?query_arn:string -> unit -> put_stored_query_response
val make_put_stored_query_request : ?tags:tag list -> stored_query:stored_query -> unit -> put_stored_query_request
val make_retention_configuration : retention_period_in_days:int -> name:string -> unit -> retention_configuration
val make_put_retention_configuration_response : ?retention_configuration:retention_configuration -> unit -> put_retention_configuration_response
val make_put_retention_configuration_request : retention_period_in_days:int -> unit -> put_retention_configuration_request
val make_put_resource_config_request : ?tags:(string * string) list -> ?resource_name:string -> configuration:string -> resource_id:string -> schema_version_id:string -> resource_type:string -> unit -> put_resource_config_request
val make_remediation_exception : ?expiration_time:float -> ?message:string -> resource_id:string -> resource_type:string -> config_rule_name:string -> unit -> remediation_exception

Create a remediation_exception type

val make_failed_remediation_exception_batch : ?failed_items:remediation_exception list -> ?failure_message:string -> unit -> failed_remediation_exception_batch
val make_put_remediation_exceptions_response : ?failed_batches:failed_remediation_exception_batch list -> unit -> put_remediation_exceptions_response
val make_remediation_exception_resource_key : ?resource_id:string -> ?resource_type:string -> unit -> remediation_exception_resource_key
val make_put_remediation_exceptions_request : ?expiration_time:float -> ?message:string -> resource_keys:remediation_exception_resource_key list -> config_rule_name:string -> unit -> put_remediation_exceptions_request
val make_resource_value : value:resource_value_type -> unit -> resource_value

Create a resource_value type

val make_remediation_parameter_value : ?static_value:static_value -> ?resource_value:resource_value -> unit -> remediation_parameter_value
val make_ssm_controls : ?error_percentage:int -> ?concurrent_execution_rate_percentage:int -> unit -> ssm_controls

Create a ssm_controls type

val make_execution_controls : ?ssm_controls:ssm_controls -> unit -> execution_controls

Create a execution_controls type

val make_remediation_configuration : ?created_by_service:string -> ?arn:string -> ?retry_attempt_seconds:int -> ?maximum_automatic_attempts:int -> ?execution_controls:execution_controls -> ?automatic:bool -> ?resource_type:string -> ?parameters:(string * remediation_parameter_value) list -> ?target_version:string -> target_id:string -> target_type:remediation_target_type -> config_rule_name:string -> unit -> remediation_configuration
val make_failed_remediation_batch : ?failed_items:remediation_configuration list -> ?failure_message:string -> unit -> failed_remediation_batch
val make_put_remediation_configurations_response : ?failed_batches:failed_remediation_batch list -> unit -> put_remediation_configurations_response
val make_put_remediation_configurations_request : remediation_configurations:remediation_configuration list -> unit -> put_remediation_configurations_request
val make_put_organization_conformance_pack_response : ?organization_conformance_pack_arn:string -> unit -> put_organization_conformance_pack_response
val make_conformance_pack_input_parameter : parameter_value:string -> parameter_name:string -> unit -> conformance_pack_input_parameter
val make_put_organization_conformance_pack_request : ?excluded_accounts:string list -> ?conformance_pack_input_parameters:conformance_pack_input_parameter list -> ?delivery_s3_key_prefix:string -> ?delivery_s3_bucket:string -> ?template_body:string -> ?template_s3_uri:string -> organization_conformance_pack_name:string -> unit -> put_organization_conformance_pack_request
val make_put_organization_config_rule_response : ?organization_config_rule_arn:string -> unit -> put_organization_config_rule_response
val make_organization_managed_rule_metadata : ?tag_value_scope:string -> ?tag_key_scope:string -> ?resource_id_scope:string -> ?resource_types_scope:string list -> ?maximum_execution_frequency:maximum_execution_frequency -> ?input_parameters:string -> ?description:string -> rule_identifier:string -> unit -> organization_managed_rule_metadata
val make_organization_custom_rule_metadata : ?tag_value_scope:string -> ?tag_key_scope:string -> ?resource_id_scope:string -> ?resource_types_scope:string list -> ?maximum_execution_frequency:maximum_execution_frequency -> ?input_parameters:string -> ?description:string -> organization_config_rule_trigger_types: organization_config_rule_trigger_type list -> lambda_function_arn:string -> unit -> organization_custom_rule_metadata
val make_organization_custom_policy_rule_metadata : ?debug_log_delivery_accounts:string list -> ?tag_value_scope:string -> ?tag_key_scope:string -> ?resource_id_scope:string -> ?resource_types_scope:string list -> ?maximum_execution_frequency:maximum_execution_frequency -> ?input_parameters:string -> ?organization_config_rule_trigger_types: organization_config_rule_trigger_type_no_s_n list -> ?description:string -> policy_text:string -> policy_runtime:string -> unit -> organization_custom_policy_rule_metadata
val make_put_organization_config_rule_request : ?organization_custom_policy_rule_metadata: organization_custom_policy_rule_metadata -> ?excluded_accounts:string list -> ?organization_custom_rule_metadata:organization_custom_rule_metadata -> ?organization_managed_rule_metadata:organization_managed_rule_metadata -> organization_config_rule_name:string -> unit -> put_organization_config_rule_request
val make_put_external_evaluation_response : unit -> put_external_evaluation_response
val make_external_evaluation : ?annotation:string -> ordering_timestamp:float -> compliance_type:compliance_type -> compliance_resource_id:string -> compliance_resource_type:string -> unit -> external_evaluation

Create a external_evaluation type

val make_put_external_evaluation_request : external_evaluation:external_evaluation -> config_rule_name:string -> unit -> put_external_evaluation_request
val make_evaluation : ?annotation:string -> ordering_timestamp:float -> compliance_type:compliance_type -> compliance_resource_id:string -> compliance_resource_type:string -> unit -> evaluation

Create a evaluation type

val make_put_evaluations_response : ?failed_evaluations:evaluation list -> unit -> put_evaluations_response
val make_put_evaluations_request : ?test_mode:bool -> ?evaluations:evaluation list -> result_token:string -> unit -> put_evaluations_request
val make_config_snapshot_delivery_properties : ?delivery_frequency:maximum_execution_frequency -> unit -> config_snapshot_delivery_properties
val make_delivery_channel : ?config_snapshot_delivery_properties:config_snapshot_delivery_properties -> ?sns_topic_ar_n:string -> ?s3_kms_key_arn:string -> ?s3_key_prefix:string -> ?s3_bucket_name:string -> ?name:string -> unit -> delivery_channel

Create a delivery_channel type

val make_put_delivery_channel_request : delivery_channel:delivery_channel -> unit -> put_delivery_channel_request
val make_put_conformance_pack_response : ?conformance_pack_arn:string -> unit -> put_conformance_pack_response
val make_put_conformance_pack_request : ?template_ssm_document_details:template_ssm_document_details -> ?conformance_pack_input_parameters:conformance_pack_input_parameter list -> ?delivery_s3_key_prefix:string -> ?delivery_s3_bucket:string -> ?template_body:string -> ?template_s3_uri:string -> conformance_pack_name:string -> unit -> put_conformance_pack_request
val make_exclusion_by_resource_types : ?resource_types:resource_type list -> unit -> exclusion_by_resource_types
val make_recording_strategy : ?use_only:recording_strategy_type -> unit -> recording_strategy

Create a recording_strategy type

val make_recording_group : ?recording_strategy:recording_strategy -> ?exclusion_by_resource_types:exclusion_by_resource_types -> ?resource_types:resource_type list -> ?include_global_resource_types:bool -> ?all_supported:bool -> unit -> recording_group

Create a recording_group type

val make_recording_mode_override : ?description:string -> recording_frequency:recording_frequency -> resource_types:resource_type list -> unit -> recording_mode_override
val make_recording_mode : ?recording_mode_overrides:recording_mode_override list -> recording_frequency:recording_frequency -> unit -> recording_mode

Create a recording_mode type

val make_configuration_recorder : ?recording_mode:recording_mode -> ?recording_group:recording_group -> ?role_ar_n:string -> ?name:string -> unit -> configuration_recorder
val make_put_configuration_recorder_request : configuration_recorder:configuration_recorder -> unit -> put_configuration_recorder_request
val make_account_aggregation_source : ?aws_regions:string list -> ?all_aws_regions:bool -> account_ids:string list -> unit -> account_aggregation_source
val make_organization_aggregation_source : ?all_aws_regions:bool -> ?aws_regions:string list -> role_arn:string -> unit -> organization_aggregation_source
val make_configuration_aggregator : ?created_by:string -> ?last_updated_time:float -> ?creation_time:float -> ?organization_aggregation_source:organization_aggregation_source -> ?account_aggregation_sources:account_aggregation_source list -> ?configuration_aggregator_arn:string -> ?configuration_aggregator_name:string -> unit -> configuration_aggregator
val make_put_configuration_aggregator_response : ?configuration_aggregator:configuration_aggregator -> unit -> put_configuration_aggregator_response
val make_put_configuration_aggregator_request : ?tags:tag list -> ?organization_aggregation_source:organization_aggregation_source -> ?account_aggregation_sources:account_aggregation_source list -> configuration_aggregator_name:string -> unit -> put_configuration_aggregator_request
val make_scope : ?compliance_resource_id:string -> ?tag_value:string -> ?tag_key:string -> ?compliance_resource_types:string list -> unit -> scope

Create a scope type

val make_source_detail : ?maximum_execution_frequency:maximum_execution_frequency -> ?message_type:message_type -> ?event_source:event_source -> unit -> source_detail

Create a source_detail type

val make_custom_policy_details : ?enable_debug_log_delivery:bool -> policy_text:string -> policy_runtime:string -> unit -> custom_policy_details

Create a custom_policy_details type

val make_source : ?custom_policy_details:custom_policy_details -> ?source_details:source_detail list -> ?source_identifier:string -> owner:owner -> unit -> source

Create a source type

val make_evaluation_mode_configuration : ?mode:evaluation_mode -> unit -> evaluation_mode_configuration
val make_config_rule : ?evaluation_modes:evaluation_mode_configuration list -> ?created_by:string -> ?config_rule_state:config_rule_state -> ?maximum_execution_frequency:maximum_execution_frequency -> ?input_parameters:string -> ?scope:scope -> ?description:string -> ?config_rule_id:string -> ?config_rule_arn:string -> ?config_rule_name:string -> source:source -> unit -> config_rule

Create a config_rule type

val make_put_config_rule_request : ?tags:tag list -> config_rule:config_rule -> unit -> put_config_rule_request
val make_aggregation_authorization : ?creation_time:float -> ?authorized_aws_region:string -> ?authorized_account_id:string -> ?aggregation_authorization_arn:string -> unit -> aggregation_authorization
val make_put_aggregation_authorization_response : ?aggregation_authorization:aggregation_authorization -> unit -> put_aggregation_authorization_response
val make_put_aggregation_authorization_request : ?tags:tag list -> authorized_aws_region:string -> authorized_account_id:string -> unit -> put_aggregation_authorization_request
val make_list_tags_for_resource_response : ?next_token:string -> ?tags:tag list -> unit -> list_tags_for_resource_response
val make_list_tags_for_resource_request : ?next_token:string -> ?limit:int -> resource_arn:string -> unit -> list_tags_for_resource_request
val make_list_stored_queries_response : ?next_token:string -> ?stored_query_metadata:stored_query_metadata list -> unit -> list_stored_queries_response
val make_list_stored_queries_request : ?max_results:int -> ?next_token:string -> unit -> list_stored_queries_request
val make_resource_evaluation : ?evaluation_start_timestamp:float -> ?evaluation_mode:evaluation_mode -> ?resource_evaluation_id:string -> unit -> resource_evaluation

Create a resource_evaluation type

val make_list_resource_evaluations_response : ?next_token:string -> ?resource_evaluations:resource_evaluation list -> unit -> list_resource_evaluations_response
val make_resource_evaluation_filters : ?evaluation_context_identifier:string -> ?time_window:time_window -> ?evaluation_mode:evaluation_mode -> unit -> resource_evaluation_filters
val make_list_resource_evaluations_request : ?next_token:string -> ?limit:int -> ?filters:resource_evaluation_filters -> unit -> list_resource_evaluations_request
val make_resource_identifier : ?resource_deletion_time:float -> ?resource_name:string -> ?resource_id:string -> ?resource_type:resource_type -> unit -> resource_identifier

Create a resource_identifier type

val make_list_discovered_resources_response : ?next_token:string -> ?resource_identifiers:resource_identifier list -> unit -> list_discovered_resources_response
val make_list_discovered_resources_request : ?next_token:string -> ?include_deleted_resources:bool -> ?limit:int -> ?resource_name:string -> ?resource_ids:string list -> resource_type:resource_type -> unit -> list_discovered_resources_request
val make_conformance_pack_compliance_score : ?last_updated_time:float -> ?conformance_pack_name:string -> ?score:string -> unit -> conformance_pack_compliance_score
val make_list_conformance_pack_compliance_scores_response : ?next_token:string -> conformance_pack_compliance_scores:conformance_pack_compliance_score list -> unit -> list_conformance_pack_compliance_scores_response
val make_conformance_pack_compliance_scores_filters : conformance_pack_names:string list -> unit -> conformance_pack_compliance_scores_filters
val make_list_conformance_pack_compliance_scores_request : ?next_token:string -> ?limit:int -> ?sort_by:sort_by -> ?sort_order:sort_order -> ?filters:conformance_pack_compliance_scores_filters -> unit -> list_conformance_pack_compliance_scores_request
val make_list_aggregate_discovered_resources_response : ?next_token:string -> ?resource_identifiers:aggregate_resource_identifier list -> unit -> list_aggregate_discovered_resources_response
val make_resource_filters : ?region:string -> ?resource_name:string -> ?resource_id:string -> ?account_id:string -> unit -> resource_filters

Create a resource_filters type

val make_list_aggregate_discovered_resources_request : ?next_token:string -> ?limit:int -> ?filters:resource_filters -> resource_type:resource_type -> configuration_aggregator_name:string -> unit -> list_aggregate_discovered_resources_request
val make_get_stored_query_response : ?stored_query:stored_query -> unit -> get_stored_query_response
val make_get_stored_query_request : query_name:string -> unit -> get_stored_query_request
val make_evaluation_status : ?failure_reason:string -> status:resource_evaluation_status -> unit -> evaluation_status

Create a evaluation_status type

val make_get_resource_evaluation_summary_response : ?resource_details:resource_details -> ?evaluation_context:evaluation_context -> ?compliance:compliance_type -> ?evaluation_start_timestamp:float -> ?evaluation_status:evaluation_status -> ?evaluation_mode:evaluation_mode -> ?resource_evaluation_id:string -> unit -> get_resource_evaluation_summary_response
val make_get_resource_evaluation_summary_request : resource_evaluation_id:string -> unit -> get_resource_evaluation_summary_request
val make_relationship : ?relationship_name:string -> ?resource_name:string -> ?resource_id:string -> ?resource_type:resource_type -> unit -> relationship

Create a relationship type

val make_configuration_item : ?configuration_item_delivery_time:float -> ?recording_frequency:recording_frequency -> ?supplementary_configuration:(string * string) list -> ?configuration:string -> ?relationships:relationship list -> ?related_events:string list -> ?tags:(string * string) list -> ?resource_creation_time:float -> ?availability_zone:string -> ?aws_region:string -> ?resource_name:string -> ?resource_id:string -> ?resource_type:resource_type -> ?arn:string -> ?configuration_item_md5_hash:string -> ?configuration_state_id:string -> ?configuration_item_status:configuration_item_status -> ?configuration_item_capture_time:float -> ?account_id:string -> ?version:string -> unit -> configuration_item

Create a configuration_item type

val make_get_resource_config_history_response : ?next_token:string -> ?configuration_items:configuration_item list -> unit -> get_resource_config_history_response
val make_get_resource_config_history_request : ?next_token:string -> ?limit:int -> ?chronological_order:chronological_order -> ?earlier_time:float -> ?later_time:float -> resource_id:string -> resource_type:resource_type -> unit -> get_resource_config_history_request
val make_get_organization_custom_rule_policy_response : ?policy_text:string -> unit -> get_organization_custom_rule_policy_response
val make_get_organization_custom_rule_policy_request : organization_config_rule_name:string -> unit -> get_organization_custom_rule_policy_request
val make_organization_conformance_pack_detailed_status : ?last_update_time:float -> ?error_message:string -> ?error_code:string -> status:organization_resource_detailed_status -> conformance_pack_name:string -> account_id:string -> unit -> organization_conformance_pack_detailed_status
val make_get_organization_conformance_pack_detailed_status_response : ?next_token:string -> ?organization_conformance_pack_detailed_statuses: organization_conformance_pack_detailed_status list -> unit -> get_organization_conformance_pack_detailed_status_response
val make_organization_resource_detailed_status_filters : ?status:organization_resource_detailed_status -> ?account_id:string -> unit -> organization_resource_detailed_status_filters
val make_get_organization_conformance_pack_detailed_status_request : ?next_token:string -> ?limit:int -> ?filters:organization_resource_detailed_status_filters -> organization_conformance_pack_name:string -> unit -> get_organization_conformance_pack_detailed_status_request
val make_member_account_status : ?last_update_time:float -> ?error_message:string -> ?error_code:string -> member_account_rule_status:member_account_rule_status -> config_rule_name:string -> account_id:string -> unit -> member_account_status

Create a member_account_status type

val make_get_organization_config_rule_detailed_status_response : ?next_token:string -> ?organization_config_rule_detailed_status:member_account_status list -> unit -> get_organization_config_rule_detailed_status_response
val make_get_organization_config_rule_detailed_status_request : ?next_token:string -> ?limit:int -> ?filters:status_detail_filters -> organization_config_rule_name:string -> unit -> get_organization_config_rule_detailed_status_request
val make_resource_count : ?count:int -> ?resource_type:resource_type -> unit -> resource_count

Create a resource_count type

val make_get_discovered_resource_counts_response : ?next_token:string -> ?resource_counts:resource_count list -> ?total_discovered_resources:int -> unit -> get_discovered_resource_counts_response
val make_get_discovered_resource_counts_request : ?next_token:string -> ?limit:int -> ?resource_types:string list -> unit -> get_discovered_resource_counts_request
val make_get_custom_rule_policy_response : ?policy_text:string -> unit -> get_custom_rule_policy_response
val make_get_custom_rule_policy_request : ?config_rule_name:string -> unit -> get_custom_rule_policy_request
val make_conformance_pack_compliance_summary : conformance_pack_compliance_status:conformance_pack_compliance_type -> conformance_pack_name:string -> unit -> conformance_pack_compliance_summary
val make_get_conformance_pack_compliance_summary_response : ?next_token:string -> ?conformance_pack_compliance_summary_list: conformance_pack_compliance_summary list -> unit -> get_conformance_pack_compliance_summary_response
val make_get_conformance_pack_compliance_summary_request : ?next_token:string -> ?limit:int -> conformance_pack_names:string list -> unit -> get_conformance_pack_compliance_summary_request
val make_evaluation_result_qualifier : ?evaluation_mode:evaluation_mode -> ?resource_id:string -> ?resource_type:string -> ?config_rule_name:string -> unit -> evaluation_result_qualifier
val make_evaluation_result_identifier : ?resource_evaluation_id:string -> ?ordering_timestamp:float -> ?evaluation_result_qualifier:evaluation_result_qualifier -> unit -> evaluation_result_identifier
val make_get_conformance_pack_compliance_details_response : ?next_token:string -> ?conformance_pack_rule_evaluation_results: conformance_pack_evaluation_result list -> conformance_pack_name:string -> unit -> get_conformance_pack_compliance_details_response
val make_conformance_pack_evaluation_filters : ?resource_ids:string list -> ?resource_type:string -> ?compliance_type:conformance_pack_compliance_type -> ?config_rule_names:string list -> unit -> conformance_pack_evaluation_filters
val make_get_conformance_pack_compliance_details_request : ?next_token:string -> ?limit:int -> ?filters:conformance_pack_evaluation_filters -> conformance_pack_name:string -> unit -> get_conformance_pack_compliance_details_request
val make_compliance_contributor_count : ?cap_exceeded:bool -> ?capped_count:int -> unit -> compliance_contributor_count
val make_compliance_summary : ?compliance_summary_timestamp:float -> ?non_compliant_resource_count:compliance_contributor_count -> ?compliant_resource_count:compliance_contributor_count -> unit -> compliance_summary

Create a compliance_summary type

val make_compliance_summary_by_resource_type : ?compliance_summary:compliance_summary -> ?resource_type:string -> unit -> compliance_summary_by_resource_type
val make_get_compliance_summary_by_resource_type_response : ?compliance_summaries_by_resource_type: compliance_summary_by_resource_type list -> unit -> get_compliance_summary_by_resource_type_response
val make_get_compliance_summary_by_resource_type_request : ?resource_types:string list -> unit -> get_compliance_summary_by_resource_type_request
val make_get_compliance_summary_by_config_rule_response : ?compliance_summary:compliance_summary -> unit -> get_compliance_summary_by_config_rule_response
val make_get_compliance_details_by_resource_response : ?next_token:string -> ?evaluation_results:evaluation_result list -> unit -> get_compliance_details_by_resource_response
val make_get_compliance_details_by_resource_request : ?resource_evaluation_id:string -> ?next_token:string -> ?compliance_types:compliance_type list -> ?resource_id:string -> ?resource_type:string -> unit -> get_compliance_details_by_resource_request
val make_get_compliance_details_by_config_rule_response : ?next_token:string -> ?evaluation_results:evaluation_result list -> unit -> get_compliance_details_by_config_rule_response
val make_get_compliance_details_by_config_rule_request : ?next_token:string -> ?limit:int -> ?compliance_types:compliance_type list -> config_rule_name:string -> unit -> get_compliance_details_by_config_rule_request
val make_get_aggregate_resource_config_response : ?configuration_item:configuration_item -> unit -> get_aggregate_resource_config_response
val make_get_aggregate_resource_config_request : resource_identifier:aggregate_resource_identifier -> configuration_aggregator_name:string -> unit -> get_aggregate_resource_config_request
val make_grouped_resource_count : resource_count:int -> group_name:string -> unit -> grouped_resource_count
val make_get_aggregate_discovered_resource_counts_response : ?next_token:string -> ?grouped_resource_counts:grouped_resource_count list -> ?group_by_key:string -> total_discovered_resources:int -> unit -> get_aggregate_discovered_resource_counts_response
val make_resource_count_filters : ?region:string -> ?account_id:string -> ?resource_type:resource_type -> unit -> resource_count_filters
val make_get_aggregate_discovered_resource_counts_request : ?next_token:string -> ?limit:int -> ?group_by_key:resource_count_group_key -> ?filters:resource_count_filters -> configuration_aggregator_name:string -> unit -> get_aggregate_discovered_resource_counts_request
val make_aggregate_conformance_pack_compliance_count : ?non_compliant_conformance_pack_count:int -> ?compliant_conformance_pack_count:int -> unit -> aggregate_conformance_pack_compliance_count
val make_aggregate_conformance_pack_compliance_summary : ?group_name:string -> ?compliance_summary:aggregate_conformance_pack_compliance_count -> unit -> aggregate_conformance_pack_compliance_summary
val make_get_aggregate_conformance_pack_compliance_summary_response : ?next_token:string -> ?group_by_key:string -> ?aggregate_conformance_pack_compliance_summaries: aggregate_conformance_pack_compliance_summary list -> unit -> get_aggregate_conformance_pack_compliance_summary_response
val make_aggregate_conformance_pack_compliance_summary_filters : ?aws_region:string -> ?account_id:string -> unit -> aggregate_conformance_pack_compliance_summary_filters
val make_get_aggregate_conformance_pack_compliance_summary_request : ?next_token:string -> ?limit:int -> ?group_by_key:aggregate_conformance_pack_compliance_summary_group_key -> ?filters:aggregate_conformance_pack_compliance_summary_filters -> configuration_aggregator_name:string -> unit -> get_aggregate_conformance_pack_compliance_summary_request
val make_aggregate_compliance_count : ?compliance_summary:compliance_summary -> ?group_name:string -> unit -> aggregate_compliance_count
val make_get_aggregate_config_rule_compliance_summary_response : ?next_token:string -> ?aggregate_compliance_counts:aggregate_compliance_count list -> ?group_by_key:string -> unit -> get_aggregate_config_rule_compliance_summary_response
val make_config_rule_compliance_summary_filters : ?aws_region:string -> ?account_id:string -> unit -> config_rule_compliance_summary_filters
val make_get_aggregate_config_rule_compliance_summary_request : ?next_token:string -> ?limit:int -> ?group_by_key:config_rule_compliance_summary_group_key -> ?filters:config_rule_compliance_summary_filters -> configuration_aggregator_name:string -> unit -> get_aggregate_config_rule_compliance_summary_request
val make_get_aggregate_compliance_details_by_config_rule_response : ?next_token:string -> ?aggregate_evaluation_results:aggregate_evaluation_result list -> unit -> get_aggregate_compliance_details_by_config_rule_response
val make_get_aggregate_compliance_details_by_config_rule_request : ?next_token:string -> ?limit:int -> ?compliance_type:compliance_type -> aws_region:string -> account_id:string -> config_rule_name:string -> configuration_aggregator_name:string -> unit -> get_aggregate_compliance_details_by_config_rule_request
val make_describe_retention_configurations_response : ?next_token:string -> ?retention_configurations:retention_configuration list -> unit -> describe_retention_configurations_response
val make_describe_retention_configurations_request : ?next_token:string -> ?retention_configuration_names:string list -> unit -> describe_retention_configurations_request
val make_remediation_execution_step : ?stop_time:float -> ?start_time:float -> ?error_message:string -> ?state:remediation_execution_step_state -> ?name:string -> unit -> remediation_execution_step
val make_remediation_execution_status : ?last_updated_time:float -> ?invocation_time:float -> ?step_details:remediation_execution_step list -> ?state:remediation_execution_state -> ?resource_key:resource_key -> unit -> remediation_execution_status
val make_describe_remediation_execution_status_response : ?next_token:string -> ?remediation_execution_statuses:remediation_execution_status list -> unit -> describe_remediation_execution_status_response
val make_describe_remediation_execution_status_request : ?next_token:string -> ?limit:int -> ?resource_keys:resource_key list -> config_rule_name:string -> unit -> describe_remediation_execution_status_request
val make_describe_remediation_exceptions_response : ?next_token:string -> ?remediation_exceptions:remediation_exception list -> unit -> describe_remediation_exceptions_response
val make_describe_remediation_exceptions_request : ?next_token:string -> ?limit:int -> ?resource_keys:remediation_exception_resource_key list -> config_rule_name:string -> unit -> describe_remediation_exceptions_request
val make_describe_remediation_configurations_response : ?remediation_configurations:remediation_configuration list -> unit -> describe_remediation_configurations_response
val make_describe_remediation_configurations_request : config_rule_names:string list -> unit -> describe_remediation_configurations_request
val make_pending_aggregation_request : ?requester_aws_region:string -> ?requester_account_id:string -> unit -> pending_aggregation_request
val make_describe_pending_aggregation_requests_response : ?next_token:string -> ?pending_aggregation_requests:pending_aggregation_request list -> unit -> describe_pending_aggregation_requests_response
val make_describe_pending_aggregation_requests_request : ?next_token:string -> ?limit:int -> unit -> describe_pending_aggregation_requests_request
val make_organization_conformance_pack_status : ?last_update_time:float -> ?error_message:string -> ?error_code:string -> status:organization_resource_status -> organization_conformance_pack_name:string -> unit -> organization_conformance_pack_status
val make_describe_organization_conformance_pack_statuses_response : ?next_token:string -> ?organization_conformance_pack_statuses: organization_conformance_pack_status list -> unit -> describe_organization_conformance_pack_statuses_response
val make_describe_organization_conformance_pack_statuses_request : ?next_token:string -> ?limit:int -> ?organization_conformance_pack_names:string list -> unit -> describe_organization_conformance_pack_statuses_request
val make_organization_conformance_pack : ?excluded_accounts:string list -> ?conformance_pack_input_parameters:conformance_pack_input_parameter list -> ?delivery_s3_key_prefix:string -> ?delivery_s3_bucket:string -> last_update_time:float -> organization_conformance_pack_arn:string -> organization_conformance_pack_name:string -> unit -> organization_conformance_pack
val make_describe_organization_conformance_packs_response : ?next_token:string -> ?organization_conformance_packs:organization_conformance_pack list -> unit -> describe_organization_conformance_packs_response
val make_describe_organization_conformance_packs_request : ?next_token:string -> ?limit:int -> ?organization_conformance_pack_names:string list -> unit -> describe_organization_conformance_packs_request
val make_organization_config_rule_status : ?last_update_time:float -> ?error_message:string -> ?error_code:string -> organization_rule_status:organization_rule_status -> organization_config_rule_name:string -> unit -> organization_config_rule_status
val make_describe_organization_config_rule_statuses_response : ?next_token:string -> ?organization_config_rule_statuses:organization_config_rule_status list -> unit -> describe_organization_config_rule_statuses_response
val make_describe_organization_config_rule_statuses_request : ?next_token:string -> ?limit:int -> ?organization_config_rule_names:string list -> unit -> describe_organization_config_rule_statuses_request
val make_organization_custom_policy_rule_metadata_no_policy : ?debug_log_delivery_accounts:string list -> ?policy_runtime:string -> ?tag_value_scope:string -> ?tag_key_scope:string -> ?resource_id_scope:string -> ?resource_types_scope:string list -> ?maximum_execution_frequency:maximum_execution_frequency -> ?input_parameters:string -> ?organization_config_rule_trigger_types: organization_config_rule_trigger_type_no_s_n list -> ?description:string -> unit -> organization_custom_policy_rule_metadata_no_policy
val make_organization_config_rule : ?organization_custom_policy_rule_metadata: organization_custom_policy_rule_metadata_no_policy -> ?last_update_time:float -> ?excluded_accounts:string list -> ?organization_custom_rule_metadata:organization_custom_rule_metadata -> ?organization_managed_rule_metadata:organization_managed_rule_metadata -> organization_config_rule_arn:string -> organization_config_rule_name:string -> unit -> organization_config_rule
val make_describe_organization_config_rules_response : ?next_token:string -> ?organization_config_rules:organization_config_rule list -> unit -> describe_organization_config_rules_response
val make_describe_organization_config_rules_request : ?next_token:string -> ?limit:int -> ?organization_config_rule_names:string list -> unit -> describe_organization_config_rules_request
val make_config_export_delivery_info : ?next_delivery_time:float -> ?last_successful_time:float -> ?last_attempt_time:float -> ?last_error_message:string -> ?last_error_code:string -> ?last_status:delivery_status -> unit -> config_export_delivery_info
val make_config_stream_delivery_info : ?last_status_change_time:float -> ?last_error_message:string -> ?last_error_code:string -> ?last_status:delivery_status -> unit -> config_stream_delivery_info
val make_delivery_channel_status : ?config_stream_delivery_info:config_stream_delivery_info -> ?config_history_delivery_info:config_export_delivery_info -> ?config_snapshot_delivery_info:config_export_delivery_info -> ?name:string -> unit -> delivery_channel_status
val make_describe_delivery_channel_status_response : ?delivery_channels_status:delivery_channel_status list -> unit -> describe_delivery_channel_status_response
val make_describe_delivery_channel_status_request : ?delivery_channel_names:string list -> unit -> describe_delivery_channel_status_request
val make_describe_delivery_channels_response : ?delivery_channels:delivery_channel list -> unit -> describe_delivery_channels_response
val make_describe_delivery_channels_request : ?delivery_channel_names:string list -> unit -> describe_delivery_channels_request
val make_conformance_pack_status_detail : ?last_update_completed_time:float -> ?conformance_pack_status_reason:string -> last_update_requested_time:float -> stack_arn:string -> conformance_pack_state:conformance_pack_state -> conformance_pack_arn:string -> conformance_pack_id:string -> conformance_pack_name:string -> unit -> conformance_pack_status_detail
val make_describe_conformance_pack_status_response : ?next_token:string -> ?conformance_pack_status_details:conformance_pack_status_detail list -> unit -> describe_conformance_pack_status_response
val make_describe_conformance_pack_status_request : ?next_token:string -> ?limit:int -> ?conformance_pack_names:string list -> unit -> describe_conformance_pack_status_request
val make_conformance_pack_detail : ?template_ssm_document_details:template_ssm_document_details -> ?created_by:string -> ?last_update_requested_time:float -> ?conformance_pack_input_parameters:conformance_pack_input_parameter list -> ?delivery_s3_key_prefix:string -> ?delivery_s3_bucket:string -> conformance_pack_id:string -> conformance_pack_arn:string -> conformance_pack_name:string -> unit -> conformance_pack_detail
val make_describe_conformance_packs_response : ?next_token:string -> ?conformance_pack_details:conformance_pack_detail list -> unit -> describe_conformance_packs_response
val make_describe_conformance_packs_request : ?next_token:string -> ?limit:int -> ?conformance_pack_names:string list -> unit -> describe_conformance_packs_request
val make_conformance_pack_rule_compliance : ?controls:string list -> ?compliance_type:conformance_pack_compliance_type -> ?config_rule_name:string -> unit -> conformance_pack_rule_compliance
val make_describe_conformance_pack_compliance_response : ?next_token:string -> conformance_pack_rule_compliance_list:conformance_pack_rule_compliance list -> conformance_pack_name:string -> unit -> describe_conformance_pack_compliance_response
val make_conformance_pack_compliance_filters : ?compliance_type:conformance_pack_compliance_type -> ?config_rule_names:string list -> unit -> conformance_pack_compliance_filters
val make_describe_conformance_pack_compliance_request : ?next_token:string -> ?limit:int -> ?filters:conformance_pack_compliance_filters -> conformance_pack_name:string -> unit -> describe_conformance_pack_compliance_request
val make_configuration_recorder_status : ?last_status_change_time:float -> ?last_error_message:string -> ?last_error_code:string -> ?last_status:recorder_status -> ?recording:bool -> ?last_stop_time:float -> ?last_start_time:float -> ?name:string -> unit -> configuration_recorder_status
val make_describe_configuration_recorder_status_response : ?configuration_recorders_status:configuration_recorder_status list -> unit -> describe_configuration_recorder_status_response
val make_describe_configuration_recorder_status_request : ?configuration_recorder_names:string list -> unit -> describe_configuration_recorder_status_request
val make_describe_configuration_recorders_response : ?configuration_recorders:configuration_recorder list -> unit -> describe_configuration_recorders_response
val make_describe_configuration_recorders_request : ?configuration_recorder_names:string list -> unit -> describe_configuration_recorders_request
val make_aggregated_source_status : ?last_error_message:string -> ?last_error_code:string -> ?last_update_time:float -> ?last_update_status:aggregated_source_status_type -> ?aws_region:string -> ?source_type:aggregated_source_type -> ?source_id:string -> unit -> aggregated_source_status
val make_describe_configuration_aggregator_sources_status_response : ?next_token:string -> ?aggregated_source_status_list:aggregated_source_status list -> unit -> describe_configuration_aggregator_sources_status_response
val make_describe_configuration_aggregator_sources_status_request : ?limit:int -> ?next_token:string -> ?update_status:aggregated_source_status_type list -> configuration_aggregator_name:string -> unit -> describe_configuration_aggregator_sources_status_request
val make_describe_configuration_aggregators_response : ?next_token:string -> ?configuration_aggregators:configuration_aggregator list -> unit -> describe_configuration_aggregators_response
val make_describe_configuration_aggregators_request : ?limit:int -> ?next_token:string -> ?configuration_aggregator_names:string list -> unit -> describe_configuration_aggregators_request
val make_describe_config_rules_response : ?next_token:string -> ?config_rules:config_rule list -> unit -> describe_config_rules_response
val make_describe_config_rules_filters : ?evaluation_mode:evaluation_mode -> unit -> describe_config_rules_filters
val make_describe_config_rules_request : ?filters:describe_config_rules_filters -> ?next_token:string -> ?config_rule_names:string list -> unit -> describe_config_rules_request
val make_config_rule_evaluation_status : ?last_debug_log_delivery_time:float -> ?last_debug_log_delivery_status_reason:string -> ?last_debug_log_delivery_status:string -> ?first_evaluation_started:bool -> ?last_error_message:string -> ?last_error_code:string -> ?last_deactivated_time:float -> ?first_activated_time:float -> ?last_failed_evaluation_time:float -> ?last_successful_evaluation_time:float -> ?last_failed_invocation_time:float -> ?last_successful_invocation_time:float -> ?config_rule_id:string -> ?config_rule_arn:string -> ?config_rule_name:string -> unit -> config_rule_evaluation_status
val make_describe_config_rule_evaluation_status_response : ?next_token:string -> ?config_rules_evaluation_status:config_rule_evaluation_status list -> unit -> describe_config_rule_evaluation_status_response
val make_describe_config_rule_evaluation_status_request : ?limit:int -> ?next_token:string -> ?config_rule_names:string list -> unit -> describe_config_rule_evaluation_status_request
val make_compliance : ?compliance_contributor_count:compliance_contributor_count -> ?compliance_type:compliance_type -> unit -> compliance

Create a compliance type

val make_compliance_by_resource : ?compliance:compliance -> ?resource_id:string -> ?resource_type:string -> unit -> compliance_by_resource
val make_describe_compliance_by_resource_response : ?next_token:string -> ?compliance_by_resources:compliance_by_resource list -> unit -> describe_compliance_by_resource_response
val make_describe_compliance_by_resource_request : ?next_token:string -> ?limit:int -> ?compliance_types:compliance_type list -> ?resource_id:string -> ?resource_type:string -> unit -> describe_compliance_by_resource_request
val make_compliance_by_config_rule : ?compliance:compliance -> ?config_rule_name:string -> unit -> compliance_by_config_rule
val make_describe_compliance_by_config_rule_response : ?next_token:string -> ?compliance_by_config_rules:compliance_by_config_rule list -> unit -> describe_compliance_by_config_rule_response
val make_describe_compliance_by_config_rule_request : ?next_token:string -> ?compliance_types:compliance_type list -> ?config_rule_names:string list -> unit -> describe_compliance_by_config_rule_request
val make_describe_aggregation_authorizations_response : ?next_token:string -> ?aggregation_authorizations:aggregation_authorization list -> unit -> describe_aggregation_authorizations_response
val make_describe_aggregation_authorizations_request : ?next_token:string -> ?limit:int -> unit -> describe_aggregation_authorizations_request
val make_aggregate_conformance_pack_compliance : ?total_rule_count:int -> ?non_compliant_rule_count:int -> ?compliant_rule_count:int -> ?compliance_type:conformance_pack_compliance_type -> unit -> aggregate_conformance_pack_compliance
val make_aggregate_compliance_by_conformance_pack : ?aws_region:string -> ?account_id:string -> ?compliance:aggregate_conformance_pack_compliance -> ?conformance_pack_name:string -> unit -> aggregate_compliance_by_conformance_pack
val make_describe_aggregate_compliance_by_conformance_packs_response : ?next_token:string -> ?aggregate_compliance_by_conformance_packs: aggregate_compliance_by_conformance_pack list -> unit -> describe_aggregate_compliance_by_conformance_packs_response
val make_aggregate_conformance_pack_compliance_filters : ?aws_region:string -> ?account_id:string -> ?compliance_type:conformance_pack_compliance_type -> ?conformance_pack_name:string -> unit -> aggregate_conformance_pack_compliance_filters
val make_describe_aggregate_compliance_by_conformance_packs_request : ?next_token:string -> ?limit:int -> ?filters:aggregate_conformance_pack_compliance_filters -> configuration_aggregator_name:string -> unit -> describe_aggregate_compliance_by_conformance_packs_request
val make_aggregate_compliance_by_config_rule : ?aws_region:string -> ?account_id:string -> ?compliance:compliance -> ?config_rule_name:string -> unit -> aggregate_compliance_by_config_rule
val make_describe_aggregate_compliance_by_config_rules_response : ?next_token:string -> ?aggregate_compliance_by_config_rules: aggregate_compliance_by_config_rule list -> unit -> describe_aggregate_compliance_by_config_rules_response
val make_config_rule_compliance_filters : ?aws_region:string -> ?account_id:string -> ?compliance_type:compliance_type -> ?config_rule_name:string -> unit -> config_rule_compliance_filters
val make_describe_aggregate_compliance_by_config_rules_request : ?next_token:string -> ?limit:int -> ?filters:config_rule_compliance_filters -> configuration_aggregator_name:string -> unit -> describe_aggregate_compliance_by_config_rules_request
val make_deliver_config_snapshot_response : ?config_snapshot_id:string -> unit -> deliver_config_snapshot_response
val make_deliver_config_snapshot_request : delivery_channel_name:string -> unit -> deliver_config_snapshot_request
val make_delete_stored_query_response : unit -> delete_stored_query_response
val make_delete_stored_query_request : query_name:string -> unit -> delete_stored_query_request
val make_delete_retention_configuration_request : retention_configuration_name:string -> unit -> delete_retention_configuration_request
val make_delete_resource_config_request : resource_id:string -> resource_type:string -> unit -> delete_resource_config_request
val make_failed_delete_remediation_exceptions_batch : ?failed_items:remediation_exception_resource_key list -> ?failure_message:string -> unit -> failed_delete_remediation_exceptions_batch
val make_delete_remediation_exceptions_response : ?failed_batches:failed_delete_remediation_exceptions_batch list -> unit -> delete_remediation_exceptions_response
val make_delete_remediation_exceptions_request : resource_keys:remediation_exception_resource_key list -> config_rule_name:string -> unit -> delete_remediation_exceptions_request
val make_delete_remediation_configuration_response : unit -> delete_remediation_configuration_response
val make_delete_remediation_configuration_request : ?resource_type:string -> config_rule_name:string -> unit -> delete_remediation_configuration_request
val make_delete_pending_aggregation_request_request : requester_aws_region:string -> requester_account_id:string -> unit -> delete_pending_aggregation_request_request
val make_delete_organization_conformance_pack_request : organization_conformance_pack_name:string -> unit -> delete_organization_conformance_pack_request
val make_delete_organization_config_rule_request : organization_config_rule_name:string -> unit -> delete_organization_config_rule_request
val make_delete_evaluation_results_response : unit -> delete_evaluation_results_response
val make_delete_evaluation_results_request : config_rule_name:string -> unit -> delete_evaluation_results_request
val make_delete_delivery_channel_request : delivery_channel_name:string -> unit -> delete_delivery_channel_request
val make_delete_conformance_pack_request : conformance_pack_name:string -> unit -> delete_conformance_pack_request
val make_delete_configuration_recorder_request : configuration_recorder_name:string -> unit -> delete_configuration_recorder_request
val make_delete_configuration_aggregator_request : configuration_aggregator_name:string -> unit -> delete_configuration_aggregator_request
val make_delete_config_rule_request : config_rule_name:string -> unit -> delete_config_rule_request
val make_delete_aggregation_authorization_request : authorized_aws_region:string -> authorized_account_id:string -> unit -> delete_aggregation_authorization_request
val make_base_configuration_item : ?configuration_item_delivery_time:float -> ?recording_frequency:recording_frequency -> ?supplementary_configuration:(string * string) list -> ?configuration:string -> ?resource_creation_time:float -> ?availability_zone:string -> ?aws_region:string -> ?resource_name:string -> ?resource_id:string -> ?resource_type:resource_type -> ?arn:string -> ?configuration_state_id:string -> ?configuration_item_status:configuration_item_status -> ?configuration_item_capture_time:float -> ?account_id:string -> ?version:string -> unit -> base_configuration_item
val make_batch_get_resource_config_response : ?unprocessed_resource_keys:resource_key list -> ?base_configuration_items:base_configuration_item list -> unit -> batch_get_resource_config_response
val make_batch_get_resource_config_request : resource_keys:resource_key list -> unit -> batch_get_resource_config_request
val make_batch_get_aggregate_resource_config_response : ?unprocessed_resource_identifiers:aggregate_resource_identifier list -> ?base_configuration_items:base_configuration_item list -> unit -> batch_get_aggregate_resource_config_response
val make_batch_get_aggregate_resource_config_request : resource_identifiers:aggregate_resource_identifier list -> configuration_aggregator_name:string -> unit -> batch_get_aggregate_resource_config_request

Operations

module BatchGetAggregateResourceConfig : sig ... end
module BatchGetResourceConfig : sig ... end
module DeleteAggregationAuthorization : sig ... end
module DeleteConfigRule : sig ... end
module DeleteConfigurationAggregator : sig ... end
module DeleteConfigurationRecorder : sig ... end
module DeleteConformancePack : sig ... end
module DeleteDeliveryChannel : sig ... end
module DeleteEvaluationResults : sig ... end
module DeleteOrganizationConfigRule : sig ... end
module DeletePendingAggregationRequest : sig ... end
module DeleteRemediationConfiguration : sig ... end
module DeleteRemediationExceptions : sig ... end
module DeleteResourceConfig : sig ... end
module DeleteRetentionConfiguration : sig ... end
module DeleteStoredQuery : sig ... end
module DeliverConfigSnapshot : sig ... end
module DescribeComplianceByConfigRule : sig ... end
module DescribeComplianceByResource : sig ... end
module DescribeConfigRules : sig ... end
module DescribeConfigurationRecorders : sig ... end
module DescribeConformancePacks : sig ... end
module DescribeConformancePackStatus : sig ... end
module DescribeDeliveryChannels : sig ... end
module DescribeDeliveryChannelStatus : sig ... end
module DescribeOrganizationConfigRules : sig ... end
module DescribeRemediationExceptions : sig ... end
module DescribeRetentionConfigurations : sig ... end
module GetAggregateResourceConfig : sig ... end
module GetComplianceDetailsByResource : sig ... end
module GetCustomRulePolicy : sig ... end
module GetDiscoveredResourceCounts : sig ... end
module GetOrganizationCustomRulePolicy : sig ... end
module GetResourceConfigHistory : sig ... end
module GetResourceEvaluationSummary : sig ... end
module GetStoredQuery : sig ... end
module ListDiscoveredResources : sig ... end
module ListResourceEvaluations : sig ... end
module ListStoredQueries : sig ... end
module ListTagsForResource : sig ... end
module PutAggregationAuthorization : sig ... end
module PutConfigRule : sig ... end
module PutConfigurationAggregator : sig ... end
module PutConfigurationRecorder : sig ... end
module PutConformancePack : sig ... end
module PutDeliveryChannel : sig ... end
module PutEvaluations : sig ... end
module PutExternalEvaluation : sig ... end
module PutOrganizationConfigRule : sig ... end
module PutOrganizationConformancePack : sig ... end
module PutRemediationConfigurations : sig ... end
module PutRemediationExceptions : sig ... end
module PutResourceConfig : sig ... end
module PutRetentionConfiguration : sig ... end
module PutStoredQuery : sig ... end
module SelectAggregateResourceConfig : sig ... end
module SelectResourceConfig : sig ... end
module StartConfigRulesEvaluation : sig ... end
module StartConfigurationRecorder : sig ... end
module StartRemediationExecution : sig ... end
module StartResourceEvaluation : sig ... end
module StopConfigurationRecorder : sig ... end
module TagResource : sig ... end
module UntagResource : sig ... end