@aws-sdk/client-config-service 3.699.0 → 3.702.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/README.md +40 -0
  2. package/dist-cjs/index.js +304 -36
  3. package/dist-es/ConfigService.js +10 -0
  4. package/dist-es/commands/AssociateResourceTypesCommand.js +22 -0
  5. package/dist-es/commands/DeleteServiceLinkedConfigurationRecorderCommand.js +22 -0
  6. package/dist-es/commands/DisassociateResourceTypesCommand.js +22 -0
  7. package/dist-es/commands/ListConfigurationRecordersCommand.js +22 -0
  8. package/dist-es/commands/PutServiceLinkedConfigurationRecorderCommand.js +22 -0
  9. package/dist-es/commands/index.js +5 -0
  10. package/dist-es/models/models_0.js +53 -25
  11. package/dist-es/models/models_1.js +7 -0
  12. package/dist-es/pagination/ListConfigurationRecordersPaginator.js +4 -0
  13. package/dist-es/pagination/index.js +1 -0
  14. package/dist-es/protocols/Aws_json1_1.js +129 -7
  15. package/dist-types/ConfigService.d.ts +36 -0
  16. package/dist-types/ConfigServiceClient.d.ts +7 -2
  17. package/dist-types/commands/AssociateResourceTypesCommand.d.ts +163 -0
  18. package/dist-types/commands/BatchGetAggregateResourceConfigCommand.d.ts +34 -3
  19. package/dist-types/commands/BatchGetResourceConfigCommand.d.ts +35 -5
  20. package/dist-types/commands/DeleteConfigRuleCommand.d.ts +24 -0
  21. package/dist-types/commands/DeleteConfigurationRecorderCommand.d.ts +15 -7
  22. package/dist-types/commands/DeleteDeliveryChannelCommand.d.ts +2 -4
  23. package/dist-types/commands/DeleteOrganizationConfigRuleCommand.d.ts +1 -1
  24. package/dist-types/commands/DeleteOrganizationConformancePackCommand.d.ts +1 -1
  25. package/dist-types/commands/DeleteRemediationConfigurationCommand.d.ts +7 -4
  26. package/dist-types/commands/DeleteResourceConfigCommand.d.ts +34 -3
  27. package/dist-types/commands/DeleteServiceLinkedConfigurationRecorderCommand.d.ts +138 -0
  28. package/dist-types/commands/DeleteStoredQueryCommand.d.ts +34 -3
  29. package/dist-types/commands/DeliverConfigSnapshotCommand.d.ts +1 -2
  30. package/dist-types/commands/DescribeAggregateComplianceByConfigRulesCommand.d.ts +34 -3
  31. package/dist-types/commands/DescribeAggregateComplianceByConformancePacksCommand.d.ts +35 -4
  32. package/dist-types/commands/DescribeComplianceByConfigRuleCommand.d.ts +1 -1
  33. package/dist-types/commands/DescribeComplianceByResourceCommand.d.ts +1 -1
  34. package/dist-types/commands/DescribeConfigurationAggregatorsCommand.d.ts +15 -1
  35. package/dist-types/commands/DescribeConfigurationRecorderStatusCommand.d.ts +47 -7
  36. package/dist-types/commands/DescribeConfigurationRecordersCommand.d.ts +45 -5
  37. package/dist-types/commands/DescribeDeliveryChannelStatusCommand.d.ts +1 -1
  38. package/dist-types/commands/DescribeDeliveryChannelsCommand.d.ts +1 -1
  39. package/dist-types/commands/DescribeOrganizationConfigRuleStatusesCommand.d.ts +1 -1
  40. package/dist-types/commands/DescribeOrganizationConfigRulesCommand.d.ts +1 -1
  41. package/dist-types/commands/DescribeOrganizationConformancePackStatusesCommand.d.ts +1 -1
  42. package/dist-types/commands/DescribeOrganizationConformancePacksCommand.d.ts +1 -1
  43. package/dist-types/commands/DescribeRetentionConfigurationsCommand.d.ts +1 -1
  44. package/dist-types/commands/DisassociateResourceTypesCommand.d.ts +163 -0
  45. package/dist-types/commands/GetAggregateComplianceDetailsByConfigRuleCommand.d.ts +34 -3
  46. package/dist-types/commands/GetAggregateConfigRuleComplianceSummaryCommand.d.ts +34 -3
  47. package/dist-types/commands/GetAggregateConformancePackComplianceSummaryCommand.d.ts +34 -3
  48. package/dist-types/commands/GetAggregateDiscoveredResourceCountsCommand.d.ts +34 -3
  49. package/dist-types/commands/GetAggregateResourceConfigCommand.d.ts +37 -3
  50. package/dist-types/commands/GetDiscoveredResourceCountsCommand.d.ts +34 -3
  51. package/dist-types/commands/GetOrganizationConfigRuleDetailedStatusCommand.d.ts +1 -1
  52. package/dist-types/commands/GetOrganizationConformancePackDetailedStatusCommand.d.ts +1 -1
  53. package/dist-types/commands/GetOrganizationCustomRulePolicyCommand.d.ts +1 -1
  54. package/dist-types/commands/GetResourceConfigHistoryCommand.d.ts +35 -5
  55. package/dist-types/commands/GetStoredQueryCommand.d.ts +34 -3
  56. package/dist-types/commands/ListAggregateDiscoveredResourcesCommand.d.ts +34 -3
  57. package/dist-types/commands/ListConfigurationRecordersCommand.d.ts +124 -0
  58. package/dist-types/commands/ListConformancePackComplianceScoresCommand.d.ts +1 -1
  59. package/dist-types/commands/ListDiscoveredResourcesCommand.d.ts +36 -6
  60. package/dist-types/commands/ListResourceEvaluationsCommand.d.ts +1 -1
  61. package/dist-types/commands/ListStoredQueriesCommand.d.ts +35 -4
  62. package/dist-types/commands/ListTagsForResourceCommand.d.ts +35 -5
  63. package/dist-types/commands/PutAggregationAuthorizationCommand.d.ts +4 -0
  64. package/dist-types/commands/PutConfigRuleCommand.d.ts +12 -6
  65. package/dist-types/commands/PutConfigurationAggregatorCommand.d.ts +37 -3
  66. package/dist-types/commands/PutConfigurationRecorderCommand.d.ts +79 -16
  67. package/dist-types/commands/PutConformancePackCommand.d.ts +7 -4
  68. package/dist-types/commands/PutDeliveryChannelCommand.d.ts +14 -18
  69. package/dist-types/commands/PutEvaluationsCommand.d.ts +1 -1
  70. package/dist-types/commands/PutOrganizationConfigRuleCommand.d.ts +42 -8
  71. package/dist-types/commands/PutOrganizationConformancePackCommand.d.ts +42 -8
  72. package/dist-types/commands/PutRemediationConfigurationsCommand.d.ts +7 -4
  73. package/dist-types/commands/PutRemediationExceptionsCommand.d.ts +13 -4
  74. package/dist-types/commands/PutResourceConfigCommand.d.ts +41 -7
  75. package/dist-types/commands/PutServiceLinkedConfigurationRecorderCommand.d.ts +182 -0
  76. package/dist-types/commands/PutStoredQueryCommand.d.ts +37 -3
  77. package/dist-types/commands/StartConfigRulesEvaluationCommand.d.ts +3 -1
  78. package/dist-types/commands/StartConfigurationRecorderCommand.d.ts +14 -4
  79. package/dist-types/commands/StartRemediationExecutionCommand.d.ts +7 -4
  80. package/dist-types/commands/StopConfigurationRecorderCommand.d.ts +12 -1
  81. package/dist-types/commands/TagResourceCommand.d.ts +35 -4
  82. package/dist-types/commands/UntagResourceCommand.d.ts +34 -3
  83. package/dist-types/commands/index.d.ts +5 -0
  84. package/dist-types/models/models_0.d.ts +1288 -1339
  85. package/dist-types/models/models_1.d.ts +551 -12
  86. package/dist-types/pagination/ListConfigurationRecordersPaginator.d.ts +7 -0
  87. package/dist-types/pagination/index.d.ts +1 -0
  88. package/dist-types/protocols/Aws_json1_1.d.ts +45 -0
  89. package/dist-types/ts3.4/ConfigService.d.ts +98 -0
  90. package/dist-types/ts3.4/ConfigServiceClient.d.ts +30 -0
  91. package/dist-types/ts3.4/commands/AssociateResourceTypesCommand.d.ts +51 -0
  92. package/dist-types/ts3.4/commands/DeleteServiceLinkedConfigurationRecorderCommand.d.ts +51 -0
  93. package/dist-types/ts3.4/commands/DisassociateResourceTypesCommand.d.ts +51 -0
  94. package/dist-types/ts3.4/commands/ListConfigurationRecordersCommand.d.ts +51 -0
  95. package/dist-types/ts3.4/commands/ListConformancePackComplianceScoresCommand.d.ts +1 -1
  96. package/dist-types/ts3.4/commands/ListDiscoveredResourcesCommand.d.ts +1 -1
  97. package/dist-types/ts3.4/commands/ListResourceEvaluationsCommand.d.ts +1 -1
  98. package/dist-types/ts3.4/commands/ListStoredQueriesCommand.d.ts +1 -1
  99. package/dist-types/ts3.4/commands/ListTagsForResourceCommand.d.ts +4 -2
  100. package/dist-types/ts3.4/commands/PutServiceLinkedConfigurationRecorderCommand.d.ts +51 -0
  101. package/dist-types/ts3.4/commands/index.d.ts +5 -0
  102. package/dist-types/ts3.4/models/models_0.d.ts +134 -132
  103. package/dist-types/ts3.4/models/models_1.d.ts +105 -0
  104. package/dist-types/ts3.4/pagination/ListConfigurationRecordersPaginator.d.ts +11 -0
  105. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  106. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +60 -0
  107. package/package.json +1 -1
@@ -1008,300 +1008,1017 @@ export interface AggregationAuthorization {
1008
1008
  * @public
1009
1009
  * @enum
1010
1010
  */
1011
- export declare const ConfigurationItemStatus: {
1012
- readonly OK: "OK";
1013
- readonly ResourceDeleted: "ResourceDeleted";
1014
- readonly ResourceDeletedNotRecorded: "ResourceDeletedNotRecorded";
1015
- readonly ResourceDiscovered: "ResourceDiscovered";
1016
- readonly ResourceNotRecorded: "ResourceNotRecorded";
1017
- };
1018
- /**
1019
- * @public
1020
- */
1021
- export type ConfigurationItemStatus = (typeof ConfigurationItemStatus)[keyof typeof ConfigurationItemStatus];
1022
- /**
1023
- * @public
1024
- * @enum
1025
- */
1026
- export declare const RecordingFrequency: {
1027
- readonly CONTINUOUS: "CONTINUOUS";
1028
- readonly DAILY: "DAILY";
1011
+ export declare const AggregatorFilterType: {
1012
+ readonly INCLUDE: "INCLUDE";
1029
1013
  };
1030
1014
  /**
1031
1015
  * @public
1032
1016
  */
1033
- export type RecordingFrequency = (typeof RecordingFrequency)[keyof typeof RecordingFrequency];
1017
+ export type AggregatorFilterType = (typeof AggregatorFilterType)[keyof typeof AggregatorFilterType];
1034
1018
  /**
1035
- * <p>The detailed configurations of a specified resource.</p>
1019
+ * <p>An object to filter the configuration recorders based on the resource types in scope for recording.</p>
1036
1020
  * @public
1037
1021
  */
1038
- export interface BaseConfigurationItem {
1039
- /**
1040
- * <p>The version number of the resource configuration.</p>
1041
- * @public
1042
- */
1043
- version?: string | undefined;
1044
- /**
1045
- * <p>The 12-digit Amazon Web Services account ID associated with the resource.</p>
1046
- * @public
1047
- */
1048
- accountId?: string | undefined;
1049
- /**
1050
- * <p>The time when the recording of configuration changes was initiated for the resource.</p>
1051
- * @public
1052
- */
1053
- configurationItemCaptureTime?: Date | undefined;
1054
- /**
1055
- * <p>The configuration item status. Valid values include:</p>
1056
- * <ul>
1057
- * <li>
1058
- * <p>OK – The resource configuration has been updated.</p>
1059
- * </li>
1060
- * <li>
1061
- * <p>ResourceDiscovered – The resource was newly discovered.</p>
1062
- * </li>
1063
- * <li>
1064
- * <p>ResourceNotRecorded – The resource was discovered, but its configuration was not recorded since the recorder doesn't record resources of this type.</p>
1065
- * </li>
1066
- * <li>
1067
- * <p>ResourceDeleted – The resource was deleted</p>
1068
- * </li>
1069
- * <li>
1070
- * <p>ResourceDeletedNotRecorded – The resource was deleted, but its configuration was not recorded since the recorder doesn't record resources of this type.</p>
1071
- * </li>
1072
- * </ul>
1073
- * @public
1074
- */
1075
- configurationItemStatus?: ConfigurationItemStatus | undefined;
1076
- /**
1077
- * <p>An identifier that indicates the ordering of the configuration
1078
- * items of a resource.</p>
1079
- * @public
1080
- */
1081
- configurationStateId?: string | undefined;
1022
+ export interface AggregatorFilterResourceType {
1082
1023
  /**
1083
- * <p>The Amazon Resource Name (ARN) of the resource.</p>
1084
- * @public
1085
- */
1086
- arn?: string | undefined;
1087
- /**
1088
- * <p>The type of Amazon Web Services resource.</p>
1089
- * @public
1090
- */
1091
- resourceType?: ResourceType | undefined;
1092
- /**
1093
- * <p>The ID of the resource (for example., sg-xxxxxx).</p>
1094
- * @public
1095
- */
1096
- resourceId?: string | undefined;
1097
- /**
1098
- * <p>The custom name of the resource, if available.</p>
1099
- * @public
1100
- */
1101
- resourceName?: string | undefined;
1102
- /**
1103
- * <p>The region where the resource resides.</p>
1104
- * @public
1105
- */
1106
- awsRegion?: string | undefined;
1107
- /**
1108
- * <p>The Availability Zone associated with the resource.</p>
1109
- * @public
1110
- */
1111
- availabilityZone?: string | undefined;
1112
- /**
1113
- * <p>The time stamp when the resource was created.</p>
1114
- * @public
1115
- */
1116
- resourceCreationTime?: Date | undefined;
1117
- /**
1118
- * <p>The description of the resource configuration.</p>
1119
- * @public
1120
- */
1121
- configuration?: string | undefined;
1122
- /**
1123
- * <p>Configuration attributes that Config returns for certain
1124
- * resource types to supplement the information returned for the
1125
- * configuration parameter.</p>
1126
- * @public
1127
- */
1128
- supplementaryConfiguration?: Record<string, string> | undefined;
1129
- /**
1130
- * <p>The recording frequency that Config uses to record configuration changes for the resource.</p>
1024
+ * <p>The type of resource type filter to apply. <code>INCLUDE</code> specifies that the list of resource types in the <code>Value</code> field will be aggregated and no other resource types will be filtered.</p>
1131
1025
  * @public
1132
1026
  */
1133
- recordingFrequency?: RecordingFrequency | undefined;
1027
+ Type?: AggregatorFilterType | undefined;
1134
1028
  /**
1135
- * <p>The time when configuration changes for the resource were delivered.</p>
1136
- * <note>
1137
- * <p>This field is optional and is not guaranteed to be present in a configuration item (CI). If you are using daily recording,
1138
- * this field will be populated. However, if you are using continuous recording,
1139
- * 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 <a href="https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html#select-resources-recording-frequency">Recording Frequency</a> in the <i>Config
1140
- * Developer Guide</i>.</p>
1141
- * </note>
1029
+ * <p>Comma-separate list of resource types to filter your aggregated configuration recorders.</p>
1142
1030
  * @public
1143
1031
  */
1144
- configurationItemDeliveryTime?: Date | undefined;
1032
+ Value?: string[] | undefined;
1145
1033
  }
1146
1034
  /**
1035
+ * <p>An object to filter service-linked configuration recorders in an aggregator based on the linked Amazon Web Services service.</p>
1147
1036
  * @public
1148
1037
  */
1149
- export interface BatchGetAggregateResourceConfigRequest {
1038
+ export interface AggregatorFilterServicePrincipal {
1150
1039
  /**
1151
- * <p>The name of the configuration aggregator.</p>
1040
+ * <p>The type of service principal filter to apply. <code>INCLUDE</code> specifies that the list of service principals in the <code>Value</code> field will be aggregated and no other service principals will be filtered.</p>
1152
1041
  * @public
1153
1042
  */
1154
- ConfigurationAggregatorName: string | undefined;
1043
+ Type?: AggregatorFilterType | undefined;
1155
1044
  /**
1156
- * <p>A list of aggregate ResourceIdentifiers objects. </p>
1045
+ * <p>Comma-separated list of service principals for the linked Amazon Web Services services to filter your aggregated service-linked configuration recorders.</p>
1157
1046
  * @public
1158
1047
  */
1159
- ResourceIdentifiers: AggregateResourceIdentifier[] | undefined;
1048
+ Value?: string[] | undefined;
1160
1049
  }
1161
1050
  /**
1051
+ * <p>An object to filter the data you specify for an aggregator.</p>
1162
1052
  * @public
1163
1053
  */
1164
- export interface BatchGetAggregateResourceConfigResponse {
1054
+ export interface AggregatorFilters {
1165
1055
  /**
1166
- * <p>A list that contains the current configuration of one or more resources.</p>
1056
+ * <p>An object to filter the configuration recorders based on the resource types in scope for recording.</p>
1167
1057
  * @public
1168
1058
  */
1169
- BaseConfigurationItems?: BaseConfigurationItem[] | undefined;
1059
+ ResourceType?: AggregatorFilterResourceType | undefined;
1170
1060
  /**
1171
- * <p>A list of resource identifiers that were not processed with current scope. The list is empty if all the resources are processed.</p>
1061
+ * <p>An object to filter service-linked configuration recorders in an aggregator based on the linked Amazon Web Services service.</p>
1172
1062
  * @public
1173
1063
  */
1174
- UnprocessedResourceIdentifiers?: AggregateResourceIdentifier[] | undefined;
1175
- }
1176
- /**
1177
- * <p>You have specified a configuration aggregator that does not exist.</p>
1178
- * @public
1179
- */
1180
- export declare class NoSuchConfigurationAggregatorException extends __BaseException {
1181
- readonly name: "NoSuchConfigurationAggregatorException";
1182
- readonly $fault: "client";
1183
- /**
1184
- * @internal
1185
- */
1186
- constructor(opts: __ExceptionOptionType<NoSuchConfigurationAggregatorException, __BaseException>);
1187
- }
1188
- /**
1189
- * <p>The requested action is not valid.</p>
1190
- * <p>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.</p>
1191
- * <p>For GetStoredQuery, ListStoredQuery, and DeleteStoredQuery you will see this exception if there are missing required fields or if the input value fails the validation.</p>
1192
- * @public
1193
- */
1194
- export declare class ValidationException extends __BaseException {
1195
- readonly name: "ValidationException";
1196
- readonly $fault: "client";
1197
- /**
1198
- * @internal
1199
- */
1200
- constructor(opts: __ExceptionOptionType<ValidationException, __BaseException>);
1064
+ ServicePrincipal?: AggregatorFilterServicePrincipal | undefined;
1201
1065
  }
1202
1066
  /**
1203
- * <p>The details that identify a resource within Config, including
1204
- * the resource type and resource ID.</p>
1205
1067
  * @public
1206
1068
  */
1207
- export interface ResourceKey {
1208
- /**
1209
- * <p>The resource type.</p>
1210
- * @public
1211
- */
1212
- resourceType: ResourceType | undefined;
1069
+ export interface AssociateResourceTypesRequest {
1213
1070
  /**
1214
- * <p>The ID of the resource (for example., sg-xxxxxx). </p>
1071
+ * <p>The Amazon Resource Name (ARN) of the specified configuration recorder.</p>
1215
1072
  * @public
1216
1073
  */
1217
- resourceId: string | undefined;
1218
- }
1219
- /**
1220
- * @public
1221
- */
1222
- export interface BatchGetResourceConfigRequest {
1074
+ ConfigurationRecorderArn: string | undefined;
1223
1075
  /**
1224
- * <p>A list of resource keys to be processed with the current
1225
- * request. Each element in the list consists of the resource type and
1226
- * resource ID.</p>
1076
+ * <p>The list of resource types you want to add to the recording group of the specified configuration recorder.</p>
1227
1077
  * @public
1228
1078
  */
1229
- resourceKeys: ResourceKey[] | undefined;
1079
+ ResourceTypes: ResourceType[] | undefined;
1230
1080
  }
1231
1081
  /**
1082
+ * <p>Specifies whether the configuration recorder excludes certain resource types from being recorded.
1083
+ * Use the <code>resourceTypes</code> field to enter a comma-separated list of resource types you want to exclude from recording.</p>
1084
+ * <p>By default, when Config adds support for a new resource type in the Region where you set up the configuration recorder,
1085
+ * including global resource types, Config starts recording resources of that type automatically.</p>
1086
+ * <note>
1087
+ * <p>
1088
+ * <b>How to use the exclusion recording strategy </b>
1089
+ * </p>
1090
+ * <p>To use this option, you must set the <code>useOnly</code>
1091
+ * field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html">RecordingStrategy</a>
1092
+ * to <code>EXCLUSION_BY_RESOURCE_TYPES</code>.</p>
1093
+ * <p>Config will then record configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded.</p>
1094
+ * <p>
1095
+ * <b>Global resource types and the exclusion recording strategy </b>
1096
+ * </p>
1097
+ * <p>Unless specifically listed as exclusions,
1098
+ * <code>AWS::RDS::GlobalCluster</code> will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.</p>
1099
+ * <p>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.
1100
+ * You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. For a list of those Regions,
1101
+ * see <a href="https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html#select-resources-all">Recording Amazon Web Services Resources | Global Resources</a>.</p>
1102
+ * </note>
1232
1103
  * @public
1233
1104
  */
1234
- export interface BatchGetResourceConfigResponse {
1235
- /**
1236
- * <p>A list that contains the current configuration of one or more
1237
- * resources.</p>
1238
- * @public
1239
- */
1240
- baseConfigurationItems?: BaseConfigurationItem[] | undefined;
1105
+ export interface ExclusionByResourceTypes {
1241
1106
  /**
1242
- * <p>A list of resource keys that were not processed with the
1243
- * current response. The unprocessesResourceKeys value is in the same
1244
- * form as ResourceKeys, so the value can be directly provided to a
1245
- * subsequent BatchGetResourceConfig operation.
1246
- *
1247
- * If there are no unprocessed resource keys, the response contains an
1248
- * empty unprocessedResourceKeys list. </p>
1107
+ * <p>A comma-separated list of resource types to exclude from recording by the configuration
1108
+ * recorder.</p>
1249
1109
  * @public
1250
1110
  */
1251
- unprocessedResourceKeys?: ResourceKey[] | undefined;
1252
- }
1253
- /**
1254
- * <p>There are no configuration recorders available to provide the
1255
- * role needed to describe your resources. Create a configuration
1256
- * recorder.</p>
1257
- * @public
1258
- */
1259
- export declare class NoAvailableConfigurationRecorderException extends __BaseException {
1260
- readonly name: "NoAvailableConfigurationRecorderException";
1261
- readonly $fault: "client";
1262
- /**
1263
- * @internal
1264
- */
1265
- constructor(opts: __ExceptionOptionType<NoAvailableConfigurationRecorderException, __BaseException>);
1111
+ resourceTypes?: ResourceType[] | undefined;
1266
1112
  }
1267
1113
  /**
1268
1114
  * @public
1269
1115
  * @enum
1270
1116
  */
1271
- export declare const ChronologicalOrder: {
1272
- readonly Forward: "Forward";
1273
- readonly Reverse: "Reverse";
1117
+ export declare const RecordingStrategyType: {
1118
+ readonly ALL_SUPPORTED_RESOURCE_TYPES: "ALL_SUPPORTED_RESOURCE_TYPES";
1119
+ readonly EXCLUSION_BY_RESOURCE_TYPES: "EXCLUSION_BY_RESOURCE_TYPES";
1120
+ readonly INCLUSION_BY_RESOURCE_TYPES: "INCLUSION_BY_RESOURCE_TYPES";
1274
1121
  };
1275
1122
  /**
1276
1123
  * @public
1277
1124
  */
1278
- export type ChronologicalOrder = (typeof ChronologicalOrder)[keyof typeof ChronologicalOrder];
1125
+ export type RecordingStrategyType = (typeof RecordingStrategyType)[keyof typeof RecordingStrategyType];
1279
1126
  /**
1280
- * <p>Indicates whether an Config rule is compliant. A rule is
1281
- * compliant if all of the resources that the rule evaluated comply
1282
- * with it. A rule is noncompliant if any of these resources do not
1283
- * comply.</p>
1127
+ * <p>Specifies the recording strategy of the configuration recorder.</p>
1284
1128
  * @public
1285
1129
  */
1286
- export interface ComplianceByConfigRule {
1287
- /**
1288
- * <p>The name of the Config rule.</p>
1289
- * @public
1290
- */
1291
- ConfigRuleName?: string | undefined;
1130
+ export interface RecordingStrategy {
1292
1131
  /**
1293
- * <p>Indicates whether the Config rule is compliant.</p>
1294
- * @public
1295
- */
1296
- Compliance?: Compliance | undefined;
1297
- }
1298
- /**
1299
- * <p>Indicates whether an Amazon Web Services resource that is evaluated according
1300
- * to one or more Config rules is compliant. A resource is
1301
- * compliant if it complies with all of the rules that evaluate it. A
1302
- * resource is noncompliant if it does not comply with one or more of
1303
- * these rules.</p>
1304
- * @public
1132
+ * <p>The recording strategy for the configuration recorder.</p>
1133
+ * <ul>
1134
+ * <li>
1135
+ * <p>If you set this option to <code>ALL_SUPPORTED_RESOURCE_TYPES</code>, Config records configuration changes for all supported resource types, excluding the global IAM resource types.
1136
+ * You also must set the <code>allSupported</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a> to <code>true</code>.
1137
+ * When Config adds support for a new resource type, Config automatically starts recording resources of that type. For a list of supported resource types,
1138
+ * see <a href="https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources">Supported Resource Types</a> in the <i>Config developer guide</i>.</p>
1139
+ * </li>
1140
+ * <li>
1141
+ * <p>If you set this option to <code>INCLUSION_BY_RESOURCE_TYPES</code>, Config records
1142
+ * configuration changes for only the resource types that you specify in the
1143
+ * <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a>.</p>
1144
+ * </li>
1145
+ * <li>
1146
+ * <p>If you set this option to <code>EXCLUSION_BY_RESOURCE_TYPES</code>, Config records
1147
+ * configuration changes for all supported resource types, except the resource
1148
+ * types that you specify to exclude from being recorded in the
1149
+ * <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html">ExclusionByResourceTypes</a>.</p>
1150
+ * </li>
1151
+ * </ul>
1152
+ * <note>
1153
+ * <p>
1154
+ * <b>Required and optional fields</b>
1155
+ * </p>
1156
+ * <p>The <code>recordingStrategy</code> field is optional when you set the
1157
+ * <code>allSupported</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a> to <code>true</code>.</p>
1158
+ * <p>The <code>recordingStrategy</code> field is optional when you list resource types in the
1159
+ * <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a>.</p>
1160
+ * <p>The <code>recordingStrategy</code> field is required if you list resource types to exclude from recording in the <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html">ExclusionByResourceTypes</a>.</p>
1161
+ * </note>
1162
+ * <note>
1163
+ * <p>
1164
+ * <b>Overriding fields</b>
1165
+ * </p>
1166
+ * <p>If you choose <code>EXCLUSION_BY_RESOURCE_TYPES</code> for the recording strategy, the <code>exclusionByResourceTypes</code> field will override other properties in the request.</p>
1167
+ * <p>For example, even if you set <code>includeGlobalResourceTypes</code> to false, global IAM resource types will still be automatically
1168
+ * recorded in this option unless those resource types are specifically listed as exclusions in the <code>resourceTypes</code> field of <code>exclusionByResourceTypes</code>.</p>
1169
+ * </note>
1170
+ * <note>
1171
+ * <p>
1172
+ * <b>Global resource types and the exclusion recording strategy</b>
1173
+ * </p>
1174
+ * <p>By default, if you choose the <code>EXCLUSION_BY_RESOURCE_TYPES</code> recording strategy,
1175
+ * when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types,
1176
+ * Config starts recording resources of that type automatically.</p>
1177
+ * <p>Unless specifically listed as exclusions,
1178
+ * <code>AWS::RDS::GlobalCluster</code> will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.</p>
1179
+ * <p>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.
1180
+ * 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:</p>
1181
+ * <ul>
1182
+ * <li>
1183
+ * <p>Asia Pacific (Hyderabad)</p>
1184
+ * </li>
1185
+ * <li>
1186
+ * <p>Asia Pacific (Melbourne)</p>
1187
+ * </li>
1188
+ * <li>
1189
+ * <p>Canada West (Calgary)</p>
1190
+ * </li>
1191
+ * <li>
1192
+ * <p>Europe (Spain)</p>
1193
+ * </li>
1194
+ * <li>
1195
+ * <p>Europe (Zurich)</p>
1196
+ * </li>
1197
+ * <li>
1198
+ * <p>Israel (Tel Aviv)</p>
1199
+ * </li>
1200
+ * <li>
1201
+ * <p>Middle East (UAE)</p>
1202
+ * </li>
1203
+ * </ul>
1204
+ * </note>
1205
+ * @public
1206
+ */
1207
+ useOnly?: RecordingStrategyType | undefined;
1208
+ }
1209
+ /**
1210
+ * <p>Specifies which resource types Config
1211
+ * 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,
1212
+ * excluding the global IAM resource types: IAM users, groups, roles, and customer managed policies.</p>
1213
+ * <p>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.
1214
+ * For a list of supported resource types, see <a href="https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources">Supported Resource Types</a> in the <i>Config developer guide</i>.</p>
1215
+ * <p>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:</p>
1216
+ * <ol>
1217
+ * <li>
1218
+ * <p>
1219
+ * <b>Record all current and future resource types with exclusions</b> (<code>EXCLUSION_BY_RESOURCE_TYPES</code>), or</p>
1220
+ * </li>
1221
+ * <li>
1222
+ * <p>
1223
+ * <b>Record specific resource types</b> (<code>INCLUSION_BY_RESOURCE_TYPES</code>).</p>
1224
+ * </li>
1225
+ * </ol>
1226
+ * <p>If you use the recording strategy to <b>Record all current and future resource types</b> (<code>ALL_SUPPORTED_RESOURCE_TYPES</code>),
1227
+ * you can use the flag <code>includeGlobalResourceTypes</code> to include the global IAM resource types in your recording.</p>
1228
+ * <important>
1229
+ * <p>
1230
+ * <b>Aurora global clusters are recorded in all enabled Regions</b>
1231
+ * </p>
1232
+ * <p>The <code>AWS::RDS::GlobalCluster</code> resource type
1233
+ * will be recorded in all supported Config Regions where the configuration recorder is enabled.</p>
1234
+ * <p>If you do not want to record <code>AWS::RDS::GlobalCluster</code> in all enabled Regions, use the <code>EXCLUSION_BY_RESOURCE_TYPES</code> or <code>INCLUSION_BY_RESOURCE_TYPES</code> recording strategy.</p>
1235
+ * </important>
1236
+ * @public
1237
+ */
1238
+ export interface RecordingGroup {
1239
+ /**
1240
+ * <p>Specifies whether Config records configuration changes for all supported resource types, excluding the global IAM resource types.</p>
1241
+ * <p>If you set this field to <code>true</code>, when Config
1242
+ * adds support for a new resource type, Config starts recording resources of that type automatically.</p>
1243
+ * <p>If you set this field to <code>true</code>,
1244
+ * you cannot enumerate specific resource types to record in the <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a>, or to exclude in the <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html">ExclusionByResourceTypes</a>.</p>
1245
+ * <note>
1246
+ * <p>
1247
+ * <b>Region availability</b>
1248
+ * </p>
1249
+ * <p>Check <a href="https://docs.aws.amazon.com/config/latest/developerguide/what-is-resource-config-coverage.html">Resource Coverage by Region Availability</a>
1250
+ * to see if a resource type is supported in the Amazon Web Services Region where you set up Config.</p>
1251
+ * </note>
1252
+ * @public
1253
+ */
1254
+ allSupported?: boolean | undefined;
1255
+ /**
1256
+ * <p>This option is a bundle which only applies to the global IAM resource types:
1257
+ * IAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded
1258
+ * by Config in Regions where Config was available before February 2022.
1259
+ * You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. For a list of those Regions,
1260
+ * see <a href="https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html#select-resources-all">Recording Amazon Web Services Resources | Global Resources</a>.</p>
1261
+ * <important>
1262
+ * <p>
1263
+ * <b>Aurora global clusters are recorded in all enabled Regions</b>
1264
+ * </p>
1265
+ * <p>The <code>AWS::RDS::GlobalCluster</code> resource type will be recorded in all supported Config Regions where the configuration recorder is enabled, even if <code>includeGlobalResourceTypes</code> is set<code>false</code>.
1266
+ * The <code>includeGlobalResourceTypes</code> option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.
1267
+ * </p>
1268
+ * <p>If you do not want to record <code>AWS::RDS::GlobalCluster</code> in all enabled Regions, use one of the following recording strategies:</p>
1269
+ * <ol>
1270
+ * <li>
1271
+ * <p>
1272
+ * <b>Record all current and future resource types with exclusions</b> (<code>EXCLUSION_BY_RESOURCE_TYPES</code>), or</p>
1273
+ * </li>
1274
+ * <li>
1275
+ * <p>
1276
+ * <b>Record specific resource types</b> (<code>INCLUSION_BY_RESOURCE_TYPES</code>).</p>
1277
+ * </li>
1278
+ * </ol>
1279
+ * <p>For more information, see <a href="https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html#select-resources-all">Selecting Which Resources are Recorded</a> in the <i>Config developer guide</i>.</p>
1280
+ * </important>
1281
+ * <important>
1282
+ * <p>
1283
+ * <b>includeGlobalResourceTypes and the exclusion recording strategy</b>
1284
+ * </p>
1285
+ * <p>The <code>includeGlobalResourceTypes</code> field has no impact on the <code>EXCLUSION_BY_RESOURCE_TYPES</code> recording strategy.
1286
+ * This means that the global IAM resource types (IAM users, groups, roles, and customer managed policies) will
1287
+ * not be automatically added as exclusions for <code>exclusionByResourceTypes</code> when <code>includeGlobalResourceTypes</code> is set to <code>false</code>.</p>
1288
+ * <p>The <code>includeGlobalResourceTypes</code> field should only be used to modify the <code>AllSupported</code> field, as the default for
1289
+ * the <code>AllSupported</code> field is to record configuration changes for all supported resource types excluding the global
1290
+ * IAM resource types. To include the global IAM resource types when <code>AllSupported</code> is set to <code>true</code>, make sure to set <code>includeGlobalResourceTypes</code> to <code>true</code>.</p>
1291
+ * <p>To exclude the global IAM resource types for the <code>EXCLUSION_BY_RESOURCE_TYPES</code> recording strategy, you need to manually add them to the <code>resourceTypes</code> field of <code>exclusionByResourceTypes</code>.</p>
1292
+ * </important>
1293
+ * <note>
1294
+ * <p>
1295
+ * <b>Required and optional fields</b>
1296
+ * </p>
1297
+ * <p>Before you set this field to <code>true</code>,
1298
+ * set the <code>allSupported</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a> to
1299
+ * <code>true</code>. Optionally, you can set the <code>useOnly</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html">RecordingStrategy</a> to <code>ALL_SUPPORTED_RESOURCE_TYPES</code>.</p>
1300
+ * </note>
1301
+ * <note>
1302
+ * <p>
1303
+ * <b>Overriding fields</b>
1304
+ * </p>
1305
+ * <p>If you set this field to <code>false</code> but list global IAM resource types in the <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a>,
1306
+ * Config will still record configuration changes for those specified resource types <i>regardless</i> of if you set the <code>includeGlobalResourceTypes</code> field to false.</p>
1307
+ * <p>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 <code>resourceTypes</code> field
1308
+ * in addition to setting the <code>includeGlobalResourceTypes</code> field to false.</p>
1309
+ * </note>
1310
+ * @public
1311
+ */
1312
+ includeGlobalResourceTypes?: boolean | undefined;
1313
+ /**
1314
+ * <p>A comma-separated list that specifies which resource types Config
1315
+ * records.</p>
1316
+ * <p>For a list of valid <code>resourceTypes</code> values, see the
1317
+ * <b>Resource Type Value</b> column in
1318
+ * <a href="https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources">Supported Amazon Web Services resource Types</a> in the <i>Config developer guide</i>.</p>
1319
+ * <note>
1320
+ * <p>
1321
+ * <b>Required and optional fields</b>
1322
+ * </p>
1323
+ * <p>Optionally, you can set the <code>useOnly</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html">RecordingStrategy</a> to <code>INCLUSION_BY_RESOURCE_TYPES</code>.</p>
1324
+ * <p>To record all configuration changes,
1325
+ * set the <code>allSupported</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a> to
1326
+ * <code>true</code>, and either omit this field or don't specify any resource types in this field. If you set the <code>allSupported</code> field to <code>false</code> and specify values for <code>resourceTypes</code>,
1327
+ * when Config adds support for a new type of resource,
1328
+ * it will not record resources of that type unless you manually add that type to your recording group.</p>
1329
+ * </note>
1330
+ * <note>
1331
+ * <p>
1332
+ * <b>Region availability</b>
1333
+ * </p>
1334
+ * <p>Before specifying a resource type for Config to track,
1335
+ * check <a href="https://docs.aws.amazon.com/config/latest/developerguide/what-is-resource-config-coverage.html">Resource Coverage by Region Availability</a>
1336
+ * to see if the resource type is supported in the Amazon Web Services Region where you set up Config.
1337
+ * If a resource type is supported by Config in at least one Region,
1338
+ * you can enable the recording of that resource type in all Regions supported by Config,
1339
+ * even if the specified resource type is not supported in the Amazon Web Services Region where you set up Config.</p>
1340
+ * </note>
1341
+ * @public
1342
+ */
1343
+ resourceTypes?: ResourceType[] | undefined;
1344
+ /**
1345
+ * <p>An object that specifies how Config excludes resource types from being recorded by the configuration recorder.</p>
1346
+ * <note>
1347
+ * <p>
1348
+ * <b>Required fields</b>
1349
+ * </p>
1350
+ * <p>To use this option, you must set the <code>useOnly</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html">RecordingStrategy</a> to <code>EXCLUSION_BY_RESOURCE_TYPES</code>.</p>
1351
+ * </note>
1352
+ * @public
1353
+ */
1354
+ exclusionByResourceTypes?: ExclusionByResourceTypes | undefined;
1355
+ /**
1356
+ * <p>An object that specifies the recording strategy for the configuration recorder.</p>
1357
+ * <ul>
1358
+ * <li>
1359
+ * <p>If you set the <code>useOnly</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html">RecordingStrategy</a> to <code>ALL_SUPPORTED_RESOURCE_TYPES</code>, Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the <code>allSupported</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a> to <code>true</code>. When Config adds support for a new resource type, Config automatically starts recording resources of that type.</p>
1360
+ * </li>
1361
+ * <li>
1362
+ * <p>If you set the <code>useOnly</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html">RecordingStrategy</a> to <code>INCLUSION_BY_RESOURCE_TYPES</code>, Config records configuration changes for only the resource types you specify in the <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a>.</p>
1363
+ * </li>
1364
+ * <li>
1365
+ * <p>If you set the <code>useOnly</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html">RecordingStrategy</a> to <code>EXCLUSION_BY_RESOURCE_TYPES</code>, Config records configuration changes for all supported resource types
1366
+ * except the resource types that you specify to exclude from being recorded in the <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html">ExclusionByResourceTypes</a>.</p>
1367
+ * </li>
1368
+ * </ul>
1369
+ * <note>
1370
+ * <p>
1371
+ * <b>Required and optional fields</b>
1372
+ * </p>
1373
+ * <p>The <code>recordingStrategy</code> field is optional when you set the
1374
+ * <code>allSupported</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a> to <code>true</code>.</p>
1375
+ * <p>The <code>recordingStrategy</code> field is optional when you list resource types in the
1376
+ * <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a>.</p>
1377
+ * <p>The <code>recordingStrategy</code> field is required if you list resource types to exclude from recording in the <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html">ExclusionByResourceTypes</a>.</p>
1378
+ * </note>
1379
+ * <note>
1380
+ * <p>
1381
+ * <b>Overriding fields</b>
1382
+ * </p>
1383
+ * <p>If you choose <code>EXCLUSION_BY_RESOURCE_TYPES</code> for the recording strategy, the <code>exclusionByResourceTypes</code> field will override other properties in the request.</p>
1384
+ * <p>For example, even if you set <code>includeGlobalResourceTypes</code> to false, global IAM resource types will still be automatically
1385
+ * recorded in this option unless those resource types are specifically listed as exclusions in the <code>resourceTypes</code> field of <code>exclusionByResourceTypes</code>.</p>
1386
+ * </note>
1387
+ * <note>
1388
+ * <p>
1389
+ * <b>Global resources types and the resource exclusion recording strategy</b>
1390
+ * </p>
1391
+ * <p>By default, if you choose the <code>EXCLUSION_BY_RESOURCE_TYPES</code> recording strategy,
1392
+ * when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types,
1393
+ * Config starts recording resources of that type automatically.</p>
1394
+ * <p>Unless specifically listed as exclusions,
1395
+ * <code>AWS::RDS::GlobalCluster</code> will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.</p>
1396
+ * <p>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.
1397
+ * You cannot be record the global IAM resouce types in Regions supported by Config after February 2022. For a list of those Regions,
1398
+ * see <a href="https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html#select-resources-all">Recording Amazon Web Services Resources | Global Resources</a>.</p>
1399
+ * </note>
1400
+ * @public
1401
+ */
1402
+ recordingStrategy?: RecordingStrategy | undefined;
1403
+ }
1404
+ /**
1405
+ * @public
1406
+ * @enum
1407
+ */
1408
+ export declare const RecordingFrequency: {
1409
+ readonly CONTINUOUS: "CONTINUOUS";
1410
+ readonly DAILY: "DAILY";
1411
+ };
1412
+ /**
1413
+ * @public
1414
+ */
1415
+ export type RecordingFrequency = (typeof RecordingFrequency)[keyof typeof RecordingFrequency];
1416
+ /**
1417
+ * <p>An object for you to specify your overrides for the recording mode.</p>
1418
+ * @public
1419
+ */
1420
+ export interface RecordingModeOverride {
1421
+ /**
1422
+ * <p>A description that you provide for the override.</p>
1423
+ * @public
1424
+ */
1425
+ description?: string | undefined;
1426
+ /**
1427
+ * <p>A comma-separated list that specifies which resource types Config
1428
+ * includes in the override.</p>
1429
+ * <important>
1430
+ * <p>Daily recording cannot be specified for the following resource types:</p>
1431
+ * <ul>
1432
+ * <li>
1433
+ * <p>
1434
+ * <code>AWS::Config::ResourceCompliance</code>
1435
+ * </p>
1436
+ * </li>
1437
+ * <li>
1438
+ * <p>
1439
+ * <code>AWS::Config::ConformancePackCompliance</code>
1440
+ * </p>
1441
+ * </li>
1442
+ * <li>
1443
+ * <p>
1444
+ * <code>AWS::Config::ConfigurationRecorder</code>
1445
+ * </p>
1446
+ * </li>
1447
+ * </ul>
1448
+ * </important>
1449
+ * @public
1450
+ */
1451
+ resourceTypes: ResourceType[] | undefined;
1452
+ /**
1453
+ * <p>The recording frequency that will be applied to all the resource types specified in the override.</p>
1454
+ * <ul>
1455
+ * <li>
1456
+ * <p>Continuous recording allows you to record configuration changes continuously whenever a change occurs.</p>
1457
+ * </li>
1458
+ * <li>
1459
+ * <p>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.
1460
+ * </p>
1461
+ * </li>
1462
+ * </ul>
1463
+ * <note>
1464
+ * <p>Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager,
1465
+ * it is recommended that you set the recording frequency to Continuous.</p>
1466
+ * </note>
1467
+ * @public
1468
+ */
1469
+ recordingFrequency: RecordingFrequency | undefined;
1470
+ }
1471
+ /**
1472
+ * <p>Specifies the default recording frequency that Config uses to record configuration changes.
1473
+ *
1474
+ * Config supports <i>Continuous recording</i> and <i>Daily recording</i>.</p>
1475
+ * <ul>
1476
+ * <li>
1477
+ * <p>Continuous recording allows you to record configuration changes continuously whenever a change occurs.</p>
1478
+ * </li>
1479
+ * <li>
1480
+ * <p>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.
1481
+ * </p>
1482
+ * </li>
1483
+ * </ul>
1484
+ * <note>
1485
+ * <p>Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager,
1486
+ * it is recommended that you set the recording frequency to Continuous.</p>
1487
+ * </note>
1488
+ * <p>You can also override the recording frequency for specific resource types.</p>
1489
+ * @public
1490
+ */
1491
+ export interface RecordingMode {
1492
+ /**
1493
+ * <p>The default recording frequency that Config uses to record configuration changes.</p>
1494
+ * <important>
1495
+ * <p>Daily recording cannot be specified for the following resource types:</p>
1496
+ * <ul>
1497
+ * <li>
1498
+ * <p>
1499
+ * <code>AWS::Config::ResourceCompliance</code>
1500
+ * </p>
1501
+ * </li>
1502
+ * <li>
1503
+ * <p>
1504
+ * <code>AWS::Config::ConformancePackCompliance</code>
1505
+ * </p>
1506
+ * </li>
1507
+ * <li>
1508
+ * <p>
1509
+ * <code>AWS::Config::ConfigurationRecorder</code>
1510
+ * </p>
1511
+ * </li>
1512
+ * </ul>
1513
+ * <p>For the <b>allSupported</b> (<code>ALL_SUPPORTED_RESOURCE_TYPES</code>) recording strategy, these resource types will be set to Continuous recording.</p>
1514
+ * </important>
1515
+ * @public
1516
+ */
1517
+ recordingFrequency: RecordingFrequency | undefined;
1518
+ /**
1519
+ * <p>An array of <code>recordingModeOverride</code> objects for you to specify your overrides for the recording mode.
1520
+ * The <code>recordingModeOverride</code> object in the <code>recordingModeOverrides</code> array consists of three fields: a <code>description</code>, the new <code>recordingFrequency</code>, and an array of <code>resourceTypes</code> to override.</p>
1521
+ * @public
1522
+ */
1523
+ recordingModeOverrides?: RecordingModeOverride[] | undefined;
1524
+ }
1525
+ /**
1526
+ * @public
1527
+ * @enum
1528
+ */
1529
+ export declare const RecordingScope: {
1530
+ readonly INTERNAL: "INTERNAL";
1531
+ readonly PAID: "PAID";
1532
+ };
1533
+ /**
1534
+ * @public
1535
+ */
1536
+ export type RecordingScope = (typeof RecordingScope)[keyof typeof RecordingScope];
1537
+ /**
1538
+ * <p>Records configuration changes to the resource types in scope.</p>
1539
+ * <p>For more information about the configuration recorder,
1540
+ * see <a href="https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html">
1541
+ * <b>Working with the Configuration Recorder</b>
1542
+ * </a> in the <i>Config Developer Guide</i>.</p>
1543
+ * @public
1544
+ */
1545
+ export interface ConfigurationRecorder {
1546
+ /**
1547
+ * <p>The Amazon Resource Name (ARN) of the specified configuration recorder.</p>
1548
+ * @public
1549
+ */
1550
+ arn?: string | undefined;
1551
+ /**
1552
+ * <p>The name of the configuration recorder.</p>
1553
+ * <p>For customer managed configuration recorders, Config automatically assigns the name of "default" when creating a configuration recorder if you do not specify a name at creation time.</p>
1554
+ * <p>For service-linked configuration recorders, Config automatically assigns a name that has the prefix "<code>AWS</code>" to a new service-linked configuration recorder.</p>
1555
+ * <note>
1556
+ * <p>
1557
+ * <b>Changing the name of a configuration recorder</b>
1558
+ * </p>
1559
+ * <p>To change the name of the customer managed configuration recorder, you must delete it and create a new customer managed configuration recorder with a new name.</p>
1560
+ * <p>You cannot change the name of a service-linked configuration recorder.</p>
1561
+ * </note>
1562
+ * @public
1563
+ */
1564
+ name?: string | undefined;
1565
+ /**
1566
+ * <p>The Amazon Resource Name (ARN) of the IAM role assumed by Config and used by the specified configuration recorder.</p>
1567
+ * <note>
1568
+ * <p>
1569
+ * <b>The server will reject a request without a defined <code>roleARN</code> for the configuration recorder</b>
1570
+ * </p>
1571
+ * <p>While the API model does not require this field, the server will reject a request without a defined <code>roleARN</code> for the configuration recorder.</p>
1572
+ * <p>
1573
+ * <b>Policies and compliance results</b>
1574
+ * </p>
1575
+ * <p>
1576
+ * <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html">IAM policies</a>
1577
+ * and <a href="https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies.html">other policies managed in Organizations</a>
1578
+ * can impact whether Config
1579
+ * has permissions to record configuration changes for your resources. Additionally, rules directly evaluate the configuration of a resource and rules don't take into account these policies when running evaluations.
1580
+ * Make sure that the policies in effect align with how you intend to use Config.</p>
1581
+ * <p>
1582
+ * <b>Keep Minimum Permisions When Reusing an IAM role</b>
1583
+ * </p>
1584
+ * <p>If you use an Amazon Web Services service that uses Config, such as Security Hub or
1585
+ * Control Tower, and an IAM role has already been created, make sure that the
1586
+ * IAM role that you use when setting up Config keeps the same minimum
1587
+ * permissions as the pre-existing IAM role. You must do this to ensure that the
1588
+ * other Amazon Web Services service continues to run as expected. </p>
1589
+ * <p>For example, if Control Tower has an IAM role that allows Config to read
1590
+ * S3 objects, make sure that the same permissions are granted
1591
+ * to the IAM role you use when setting up Config. Otherwise, it may
1592
+ * interfere with how Control Tower operates.</p>
1593
+ * <p>
1594
+ * <b>The service-linked IAM role for Config must be used for service-linked configuration recorders</b>
1595
+ * </p>
1596
+ * <p>For service-linked configuration recorders, you must use the service-linked IAM role for Config: <a href="https://docs.aws.amazon.com/config/latest/developerguide/using-service-linked-roles.html">AWSServiceRoleForConfig</a>.</p>
1597
+ * </note>
1598
+ * @public
1599
+ */
1600
+ roleARN?: string | undefined;
1601
+ /**
1602
+ * <p>Specifies which resource types are in scope for the configuration recorder to record.</p>
1603
+ * <note>
1604
+ * <p>
1605
+ * <b> High Number of Config Evaluations</b>
1606
+ * </p>
1607
+ * <p>You might notice increased activity in your account during your initial month recording with Config when compared to subsequent months. During the
1608
+ * initial bootstrapping process, Config runs evaluations on all the resources in your account that you have selected
1609
+ * for Config to record.</p>
1610
+ * <p>If you are running ephemeral workloads, you may see increased activity from Config as it records configuration changes associated with creating and deleting these
1611
+ * temporary resources. An <i>ephemeral workload</i> is a temporary use of computing resources that are loaded
1612
+ * and run when needed. Examples include Amazon Elastic Compute Cloud (Amazon EC2)
1613
+ * Spot Instances, Amazon EMR jobs, and Auto Scaling.</p>
1614
+ * <p>If you want to avoid the increased activity from running ephemeral workloads, you can set up the configuration recorder to exclude these resource types from being recorded, or run these types of workloads in a separate account with Config turned off to avoid
1615
+ * increased configuration recording and rule evaluations.</p>
1616
+ * </note>
1617
+ * @public
1618
+ */
1619
+ recordingGroup?: RecordingGroup | undefined;
1620
+ /**
1621
+ * <p>Specifies the default recording frequency for the configuration recorder.
1622
+ *
1623
+ * Config supports <i>Continuous recording</i> and <i>Daily recording</i>.</p>
1624
+ * <ul>
1625
+ * <li>
1626
+ * <p>Continuous recording allows you to record configuration changes continuously whenever a change occurs.</p>
1627
+ * </li>
1628
+ * <li>
1629
+ * <p>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.
1630
+ * </p>
1631
+ * </li>
1632
+ * </ul>
1633
+ * <note>
1634
+ * <p>
1635
+ * <b>Some resource types require continuous recording</b>
1636
+ * </p>
1637
+ * <p>Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager,
1638
+ * it is recommended that you set the recording frequency to Continuous.</p>
1639
+ * </note>
1640
+ * <p>You can also override the recording frequency for specific resource types.</p>
1641
+ * @public
1642
+ */
1643
+ recordingMode?: RecordingMode | undefined;
1644
+ /**
1645
+ * <p>Specifies whether the <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigurationItem.html">ConfigurationItems</a> in scope for the specified configuration recorder are recorded for free (<code>INTERNAL</code>) or if it impacts the costs to your bill (<code>PAID</code>).</p>
1646
+ * @public
1647
+ */
1648
+ recordingScope?: RecordingScope | undefined;
1649
+ /**
1650
+ * <p>For service-linked configuration recorders, specifies the linked Amazon Web Services service for the configuration recorder.</p>
1651
+ * @public
1652
+ */
1653
+ servicePrincipal?: string | undefined;
1654
+ }
1655
+ /**
1656
+ * @public
1657
+ */
1658
+ export interface AssociateResourceTypesResponse {
1659
+ /**
1660
+ * <p>Records configuration changes to the resource types in scope.</p>
1661
+ * <p>For more information about the configuration recorder,
1662
+ * see <a href="https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html">
1663
+ * <b>Working with the Configuration Recorder</b>
1664
+ * </a> in the <i>Config Developer Guide</i>.</p>
1665
+ * @public
1666
+ */
1667
+ ConfigurationRecorder: ConfigurationRecorder | undefined;
1668
+ }
1669
+ /**
1670
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_PutServiceLinkedConfigurationRecorder.html">PutServiceLinkedConfigurationRecorder</a>, you cannot create a service-linked recorder because a service-linked recorder already exists for the specified service.</p>
1671
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_DeleteServiceLinkedConfigurationRecorder.html">DeleteServiceLinkedConfigurationRecorder</a>, you cannot delete the service-linked recorder because it is currently in use by the linked Amazon Web Services service.</p>
1672
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_DeleteDeliveryChannel.html">DeleteDeliveryChannel</a>, you cannot delete the specified delivery channel because the customer managed configuration recorder is running. Use the <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_StopConfigurationRecorder.html">StopConfigurationRecorder</a> operation to stop the customer managed configuration
1673
+ * recorder.</p>
1674
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_AssociateResourceTypes.html">AssociateResourceTypes</a> and <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_DisassociateResourceTypes.html">DisassociateResourceTypes</a>, one of the following errors:</p>
1675
+ * <ul>
1676
+ * <li>
1677
+ * <p>For service-linked configuration recorders, the configuration recorder is not in use by the service. No association or dissociation of resource types is permitted.</p>
1678
+ * </li>
1679
+ * <li>
1680
+ * <p>For service-linked configuration recorders, your requested change to the configuration recorder has been denied by its linked Amazon Web Services service.</p>
1681
+ * </li>
1682
+ * </ul>
1683
+ * @public
1684
+ */
1685
+ export declare class ConflictException extends __BaseException {
1686
+ readonly name: "ConflictException";
1687
+ readonly $fault: "client";
1688
+ /**
1689
+ * @internal
1690
+ */
1691
+ constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
1692
+ }
1693
+ /**
1694
+ * <p>You have specified a configuration recorder that does not
1695
+ * exist.</p>
1696
+ * @public
1697
+ */
1698
+ export declare class NoSuchConfigurationRecorderException extends __BaseException {
1699
+ readonly name: "NoSuchConfigurationRecorderException";
1700
+ readonly $fault: "client";
1701
+ /**
1702
+ * @internal
1703
+ */
1704
+ constructor(opts: __ExceptionOptionType<NoSuchConfigurationRecorderException, __BaseException>);
1705
+ }
1706
+ /**
1707
+ * <p>The requested operation is not valid. You will see this exception if there are missing required fields or if the input value fails the validation.</p>
1708
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_PutStoredQuery.html">PutStoredQuery</a>, one of the following errors:</p>
1709
+ * <ul>
1710
+ * <li>
1711
+ * <p>There are missing required fields.</p>
1712
+ * </li>
1713
+ * <li>
1714
+ * <p>The input value fails the validation.</p>
1715
+ * </li>
1716
+ * <li>
1717
+ * <p>You are trying to create more than 300 queries.</p>
1718
+ * </li>
1719
+ * </ul>
1720
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_DescribeConfigurationRecorders.html">DescribeConfigurationRecorders</a> and <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_DescribeConfigurationRecorderStatus.html">DescribeConfigurationRecorderStatus</a>, one of the following errors:</p>
1721
+ * <ul>
1722
+ * <li>
1723
+ * <p>You have specified more than one configuration recorder.</p>
1724
+ * </li>
1725
+ * <li>
1726
+ * <p>You have provided a service principal for service-linked configuration recorder that is not valid.</p>
1727
+ * </li>
1728
+ * </ul>
1729
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_AssociateResourceTypes.html">AssociateResourceTypes</a> and <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_DisassociateResourceTypes.html">DisassociateResourceTypes</a>, one of the following errors:</p>
1730
+ * <ul>
1731
+ * <li>
1732
+ * <p>Your configuraiton recorder has a recording strategy that does not allow the association or disassociation of resource types.</p>
1733
+ * </li>
1734
+ * <li>
1735
+ * <p>One or more of the specified resource types are already associated or disassociated with the configuration recorder.</p>
1736
+ * </li>
1737
+ * <li>
1738
+ * <p>For service-linked configuration recorders, the configuration recorder does not record one or more of the specified resource types.</p>
1739
+ * </li>
1740
+ * </ul>
1741
+ * @public
1742
+ */
1743
+ export declare class ValidationException extends __BaseException {
1744
+ readonly name: "ValidationException";
1745
+ readonly $fault: "client";
1746
+ /**
1747
+ * @internal
1748
+ */
1749
+ constructor(opts: __ExceptionOptionType<ValidationException, __BaseException>);
1750
+ }
1751
+ /**
1752
+ * @public
1753
+ * @enum
1754
+ */
1755
+ export declare const ConfigurationItemStatus: {
1756
+ readonly OK: "OK";
1757
+ readonly ResourceDeleted: "ResourceDeleted";
1758
+ readonly ResourceDeletedNotRecorded: "ResourceDeletedNotRecorded";
1759
+ readonly ResourceDiscovered: "ResourceDiscovered";
1760
+ readonly ResourceNotRecorded: "ResourceNotRecorded";
1761
+ };
1762
+ /**
1763
+ * @public
1764
+ */
1765
+ export type ConfigurationItemStatus = (typeof ConfigurationItemStatus)[keyof typeof ConfigurationItemStatus];
1766
+ /**
1767
+ * <p>The detailed configurations of a specified resource.</p>
1768
+ * @public
1769
+ */
1770
+ export interface BaseConfigurationItem {
1771
+ /**
1772
+ * <p>The version number of the resource configuration.</p>
1773
+ * @public
1774
+ */
1775
+ version?: string | undefined;
1776
+ /**
1777
+ * <p>The 12-digit Amazon Web Services account ID associated with the resource.</p>
1778
+ * @public
1779
+ */
1780
+ accountId?: string | undefined;
1781
+ /**
1782
+ * <p>The time when the recording of configuration changes was initiated for the resource.</p>
1783
+ * @public
1784
+ */
1785
+ configurationItemCaptureTime?: Date | undefined;
1786
+ /**
1787
+ * <p>The configuration item status. Valid values include:</p>
1788
+ * <ul>
1789
+ * <li>
1790
+ * <p>OK – The resource configuration has been updated.</p>
1791
+ * </li>
1792
+ * <li>
1793
+ * <p>ResourceDiscovered – The resource was newly discovered.</p>
1794
+ * </li>
1795
+ * <li>
1796
+ * <p>ResourceNotRecorded – The resource was discovered, but its configuration was not recorded since the recorder doesn't record resources of this type.</p>
1797
+ * </li>
1798
+ * <li>
1799
+ * <p>ResourceDeleted – The resource was deleted</p>
1800
+ * </li>
1801
+ * <li>
1802
+ * <p>ResourceDeletedNotRecorded – The resource was deleted, but its configuration was not recorded since the recorder doesn't record resources of this type.</p>
1803
+ * </li>
1804
+ * </ul>
1805
+ * @public
1806
+ */
1807
+ configurationItemStatus?: ConfigurationItemStatus | undefined;
1808
+ /**
1809
+ * <p>An identifier that indicates the ordering of the configuration
1810
+ * items of a resource.</p>
1811
+ * @public
1812
+ */
1813
+ configurationStateId?: string | undefined;
1814
+ /**
1815
+ * <p>The Amazon Resource Name (ARN) of the resource.</p>
1816
+ * @public
1817
+ */
1818
+ arn?: string | undefined;
1819
+ /**
1820
+ * <p>The type of Amazon Web Services resource.</p>
1821
+ * @public
1822
+ */
1823
+ resourceType?: ResourceType | undefined;
1824
+ /**
1825
+ * <p>The ID of the resource (for example., sg-xxxxxx).</p>
1826
+ * @public
1827
+ */
1828
+ resourceId?: string | undefined;
1829
+ /**
1830
+ * <p>The custom name of the resource, if available.</p>
1831
+ * @public
1832
+ */
1833
+ resourceName?: string | undefined;
1834
+ /**
1835
+ * <p>The region where the resource resides.</p>
1836
+ * @public
1837
+ */
1838
+ awsRegion?: string | undefined;
1839
+ /**
1840
+ * <p>The Availability Zone associated with the resource.</p>
1841
+ * @public
1842
+ */
1843
+ availabilityZone?: string | undefined;
1844
+ /**
1845
+ * <p>The time stamp when the resource was created.</p>
1846
+ * @public
1847
+ */
1848
+ resourceCreationTime?: Date | undefined;
1849
+ /**
1850
+ * <p>The description of the resource configuration.</p>
1851
+ * @public
1852
+ */
1853
+ configuration?: string | undefined;
1854
+ /**
1855
+ * <p>Configuration attributes that Config returns for certain
1856
+ * resource types to supplement the information returned for the
1857
+ * configuration parameter.</p>
1858
+ * @public
1859
+ */
1860
+ supplementaryConfiguration?: Record<string, string> | undefined;
1861
+ /**
1862
+ * <p>The recording frequency that Config uses to record configuration changes for the resource.</p>
1863
+ * @public
1864
+ */
1865
+ recordingFrequency?: RecordingFrequency | undefined;
1866
+ /**
1867
+ * <p>The time when configuration changes for the resource were delivered.</p>
1868
+ * <note>
1869
+ * <p>This field is optional and is not guaranteed to be present in a configuration item (CI). If you are using daily recording,
1870
+ * this field will be populated. However, if you are using continuous recording,
1871
+ * 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 <a href="https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html#select-resources-recording-frequency">Recording Frequency</a> in the <i>Config
1872
+ * Developer Guide</i>.</p>
1873
+ * </note>
1874
+ * @public
1875
+ */
1876
+ configurationItemDeliveryTime?: Date | undefined;
1877
+ }
1878
+ /**
1879
+ * @public
1880
+ */
1881
+ export interface BatchGetAggregateResourceConfigRequest {
1882
+ /**
1883
+ * <p>The name of the configuration aggregator.</p>
1884
+ * @public
1885
+ */
1886
+ ConfigurationAggregatorName: string | undefined;
1887
+ /**
1888
+ * <p>A list of aggregate ResourceIdentifiers objects. </p>
1889
+ * @public
1890
+ */
1891
+ ResourceIdentifiers: AggregateResourceIdentifier[] | undefined;
1892
+ }
1893
+ /**
1894
+ * @public
1895
+ */
1896
+ export interface BatchGetAggregateResourceConfigResponse {
1897
+ /**
1898
+ * <p>A list that contains the current configuration of one or more resources.</p>
1899
+ * @public
1900
+ */
1901
+ BaseConfigurationItems?: BaseConfigurationItem[] | undefined;
1902
+ /**
1903
+ * <p>A list of resource identifiers that were not processed with current scope. The list is empty if all the resources are processed.</p>
1904
+ * @public
1905
+ */
1906
+ UnprocessedResourceIdentifiers?: AggregateResourceIdentifier[] | undefined;
1907
+ }
1908
+ /**
1909
+ * <p>You have specified a configuration aggregator that does not exist.</p>
1910
+ * @public
1911
+ */
1912
+ export declare class NoSuchConfigurationAggregatorException extends __BaseException {
1913
+ readonly name: "NoSuchConfigurationAggregatorException";
1914
+ readonly $fault: "client";
1915
+ /**
1916
+ * @internal
1917
+ */
1918
+ constructor(opts: __ExceptionOptionType<NoSuchConfigurationAggregatorException, __BaseException>);
1919
+ }
1920
+ /**
1921
+ * <p>The details that identify a resource within Config, including
1922
+ * the resource type and resource ID.</p>
1923
+ * @public
1924
+ */
1925
+ export interface ResourceKey {
1926
+ /**
1927
+ * <p>The resource type.</p>
1928
+ * @public
1929
+ */
1930
+ resourceType: ResourceType | undefined;
1931
+ /**
1932
+ * <p>The ID of the resource (for example., sg-xxxxxx). </p>
1933
+ * @public
1934
+ */
1935
+ resourceId: string | undefined;
1936
+ }
1937
+ /**
1938
+ * @public
1939
+ */
1940
+ export interface BatchGetResourceConfigRequest {
1941
+ /**
1942
+ * <p>A list of resource keys to be processed with the current
1943
+ * request. Each element in the list consists of the resource type and
1944
+ * resource ID.</p>
1945
+ * @public
1946
+ */
1947
+ resourceKeys: ResourceKey[] | undefined;
1948
+ }
1949
+ /**
1950
+ * @public
1951
+ */
1952
+ export interface BatchGetResourceConfigResponse {
1953
+ /**
1954
+ * <p>A list that contains the current configuration of one or more
1955
+ * resources.</p>
1956
+ * @public
1957
+ */
1958
+ baseConfigurationItems?: BaseConfigurationItem[] | undefined;
1959
+ /**
1960
+ * <p>A list of resource keys that were not processed with the
1961
+ * current response. The unprocessesResourceKeys value is in the same
1962
+ * form as ResourceKeys, so the value can be directly provided to a
1963
+ * subsequent BatchGetResourceConfig operation.
1964
+ *
1965
+ * If there are no unprocessed resource keys, the response contains an
1966
+ * empty unprocessedResourceKeys list. </p>
1967
+ * @public
1968
+ */
1969
+ unprocessedResourceKeys?: ResourceKey[] | undefined;
1970
+ }
1971
+ /**
1972
+ * <p>There are no customer managed configuration recorders available to record your resources. Use the <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_PutConfigurationRecorder.html">PutConfigurationRecorder</a> operation to create the customer managed configuration
1973
+ * recorder.</p>
1974
+ * @public
1975
+ */
1976
+ export declare class NoAvailableConfigurationRecorderException extends __BaseException {
1977
+ readonly name: "NoAvailableConfigurationRecorderException";
1978
+ readonly $fault: "client";
1979
+ /**
1980
+ * @internal
1981
+ */
1982
+ constructor(opts: __ExceptionOptionType<NoAvailableConfigurationRecorderException, __BaseException>);
1983
+ }
1984
+ /**
1985
+ * @public
1986
+ * @enum
1987
+ */
1988
+ export declare const ChronologicalOrder: {
1989
+ readonly Forward: "Forward";
1990
+ readonly Reverse: "Reverse";
1991
+ };
1992
+ /**
1993
+ * @public
1994
+ */
1995
+ export type ChronologicalOrder = (typeof ChronologicalOrder)[keyof typeof ChronologicalOrder];
1996
+ /**
1997
+ * <p>Indicates whether an Config rule is compliant. A rule is
1998
+ * compliant if all of the resources that the rule evaluated comply
1999
+ * with it. A rule is noncompliant if any of these resources do not
2000
+ * comply.</p>
2001
+ * @public
2002
+ */
2003
+ export interface ComplianceByConfigRule {
2004
+ /**
2005
+ * <p>The name of the Config rule.</p>
2006
+ * @public
2007
+ */
2008
+ ConfigRuleName?: string | undefined;
2009
+ /**
2010
+ * <p>Indicates whether the Config rule is compliant.</p>
2011
+ * @public
2012
+ */
2013
+ Compliance?: Compliance | undefined;
2014
+ }
2015
+ /**
2016
+ * <p>Indicates whether an Amazon Web Services resource that is evaluated according
2017
+ * to one or more Config rules is compliant. A resource is
2018
+ * compliant if it complies with all of the rules that evaluate it. A
2019
+ * resource is noncompliant if it does not comply with one or more of
2020
+ * these rules.</p>
2021
+ * @public
1305
2022
  */
1306
2023
  export interface ComplianceByResource {
1307
2024
  /**
@@ -1852,7 +2569,7 @@ export type ConfigRuleComplianceSummaryGroupKey = (typeof ConfigRuleComplianceSu
1852
2569
  * status includes information such as the last time the rule ran, the
1853
2570
  * last time it failed, and the related error for the last
1854
2571
  * failure.</p>
1855
- * <p>This action does not return status information about Config Custom Lambda rules.</p>
2572
+ * <p>This operation does not return status information about Config Custom Lambda rules.</p>
1856
2573
  * @public
1857
2574
  */
1858
2575
  export interface ConfigRuleEvaluationStatus {
@@ -2042,843 +2759,293 @@ export interface ConfigStreamDeliveryInfo {
2042
2759
  * @public
2043
2760
  */
2044
2761
  lastErrorMessage?: string | undefined;
2045
- /**
2046
- * <p>The time from the last status change.</p>
2047
- * @public
2048
- */
2049
- lastStatusChangeTime?: Date | undefined;
2050
- }
2051
- /**
2052
- * <p>This object contains regions to set up the aggregator and an IAM
2053
- * role to retrieve organization details.</p>
2054
- * @public
2055
- */
2056
- export interface OrganizationAggregationSource {
2057
- /**
2058
- * <p>ARN of the IAM role used to retrieve Amazon Web Services Organization details
2059
- * associated with the aggregator account.</p>
2060
- * @public
2061
- */
2062
- RoleArn: string | undefined;
2063
- /**
2064
- * <p>The source regions being aggregated.</p>
2065
- * @public
2066
- */
2067
- AwsRegions?: string[] | undefined;
2068
- /**
2069
- * <p>If true, aggregate existing Config regions and future
2070
- * regions.</p>
2071
- * @public
2072
- */
2073
- AllAwsRegions?: boolean | undefined;
2074
- }
2075
- /**
2076
- * <p>The details about the configuration aggregator, including
2077
- * information about source accounts, regions, and metadata of the
2078
- * aggregator. </p>
2079
- * @public
2080
- */
2081
- export interface ConfigurationAggregator {
2082
- /**
2083
- * <p>The name of the aggregator.</p>
2084
- * @public
2085
- */
2086
- ConfigurationAggregatorName?: string | undefined;
2087
- /**
2088
- * <p>The Amazon Resource Name (ARN) of the aggregator.</p>
2089
- * @public
2090
- */
2091
- ConfigurationAggregatorArn?: string | undefined;
2092
- /**
2093
- * <p>Provides a list of source accounts and regions to be
2094
- * aggregated.</p>
2095
- * @public
2096
- */
2097
- AccountAggregationSources?: AccountAggregationSource[] | undefined;
2098
- /**
2099
- * <p>Provides an organization and list of regions to be
2100
- * aggregated.</p>
2101
- * @public
2102
- */
2103
- OrganizationAggregationSource?: OrganizationAggregationSource | undefined;
2104
- /**
2105
- * <p>The time stamp when the configuration aggregator was
2106
- * created.</p>
2107
- * @public
2108
- */
2109
- CreationTime?: Date | undefined;
2110
- /**
2111
- * <p>The time of the last update.</p>
2112
- * @public
2113
- */
2114
- LastUpdatedTime?: Date | undefined;
2115
- /**
2116
- * <p>Amazon Web Services service that created the configuration aggregator.</p>
2117
- * @public
2118
- */
2119
- CreatedBy?: string | undefined;
2120
- }
2121
- /**
2122
- * <p>The relationship of the related resource to the main
2123
- * resource.</p>
2124
- * @public
2125
- */
2126
- export interface Relationship {
2127
- /**
2128
- * <p>The resource type of the related resource.</p>
2129
- * @public
2130
- */
2131
- resourceType?: ResourceType | undefined;
2132
- /**
2133
- * <p>The ID of the related resource (for example,
2134
- * <code>sg-xxxxxx</code>).</p>
2135
- * @public
2136
- */
2137
- resourceId?: string | undefined;
2138
- /**
2139
- * <p>The custom name of the related resource, if
2140
- * available.</p>
2141
- * @public
2142
- */
2143
- resourceName?: string | undefined;
2144
- /**
2145
- * <p>The type of relationship with the related resource.</p>
2146
- * @public
2147
- */
2148
- relationshipName?: string | undefined;
2149
- }
2150
- /**
2151
- * <p>A list that contains detailed configurations of a specified
2152
- * resource.</p>
2153
- * @public
2154
- */
2155
- export interface ConfigurationItem {
2156
- /**
2157
- * <p>The version number of the resource configuration.</p>
2158
- * @public
2159
- */
2160
- version?: string | undefined;
2161
- /**
2162
- * <p>The 12-digit Amazon Web Services account ID associated with the
2163
- * resource.</p>
2164
- * @public
2165
- */
2166
- accountId?: string | undefined;
2167
- /**
2168
- * <p>The time when the recording of configuration changes was
2169
- * initiated for the resource.</p>
2170
- * @public
2171
- */
2172
- configurationItemCaptureTime?: Date | undefined;
2173
- /**
2174
- * <p>The configuration item status. Valid values include:</p>
2175
- * <ul>
2176
- * <li>
2177
- * <p>OK – The resource configuration has been updated</p>
2178
- * </li>
2179
- * <li>
2180
- * <p>ResourceDiscovered – The resource was newly discovered</p>
2181
- * </li>
2182
- * <li>
2183
- * <p>ResourceNotRecorded – The resource was discovered but its configuration was not recorded since the recorder doesn't record resources of this type</p>
2184
- * </li>
2185
- * <li>
2186
- * <p>ResourceDeleted – The resource was deleted</p>
2187
- * </li>
2188
- * <li>
2189
- * <p>ResourceDeletedNotRecorded – The resource was deleted but its configuration was not recorded since the recorder doesn't record resources of this type</p>
2190
- * </li>
2191
- * </ul>
2192
- * @public
2193
- */
2194
- configurationItemStatus?: ConfigurationItemStatus | undefined;
2195
- /**
2196
- * <p>An identifier that indicates the ordering of the configuration
2197
- * items of a resource.</p>
2198
- * @public
2199
- */
2200
- configurationStateId?: string | undefined;
2201
- /**
2202
- * <p>Unique MD5 hash that represents the configuration item's
2203
- * state.</p>
2204
- * <p>You can use MD5 hash to compare the states of two or more
2205
- * configuration items that are associated with the same
2206
- * resource.</p>
2762
+ /**
2763
+ * <p>The time from the last status change.</p>
2207
2764
  * @public
2208
2765
  */
2209
- configurationItemMD5Hash?: string | undefined;
2766
+ lastStatusChangeTime?: Date | undefined;
2767
+ }
2768
+ /**
2769
+ * <p>This object contains regions to set up the aggregator and an IAM
2770
+ * role to retrieve organization details.</p>
2771
+ * @public
2772
+ */
2773
+ export interface OrganizationAggregationSource {
2210
2774
  /**
2211
- * <p>Amazon Resource Name (ARN) associated with the resource.</p>
2775
+ * <p>ARN of the IAM role used to retrieve Amazon Web Services Organization details
2776
+ * associated with the aggregator account.</p>
2212
2777
  * @public
2213
2778
  */
2214
- arn?: string | undefined;
2779
+ RoleArn: string | undefined;
2215
2780
  /**
2216
- * <p>The type of Amazon Web Services resource.</p>
2781
+ * <p>The source regions being aggregated.</p>
2217
2782
  * @public
2218
2783
  */
2219
- resourceType?: ResourceType | undefined;
2784
+ AwsRegions?: string[] | undefined;
2220
2785
  /**
2221
- * <p>The ID of the resource (for example,
2222
- * <code>sg-xxxxxx</code>).</p>
2786
+ * <p>If true, aggregate existing Config regions and future
2787
+ * regions.</p>
2223
2788
  * @public
2224
2789
  */
2225
- resourceId?: string | undefined;
2790
+ AllAwsRegions?: boolean | undefined;
2791
+ }
2792
+ /**
2793
+ * <p>The details about the configuration aggregator, including
2794
+ * information about source accounts, regions, and metadata of the
2795
+ * aggregator. </p>
2796
+ * @public
2797
+ */
2798
+ export interface ConfigurationAggregator {
2226
2799
  /**
2227
- * <p>The custom name of the resource, if available.</p>
2800
+ * <p>The name of the aggregator.</p>
2228
2801
  * @public
2229
2802
  */
2230
- resourceName?: string | undefined;
2803
+ ConfigurationAggregatorName?: string | undefined;
2231
2804
  /**
2232
- * <p>The region where the resource resides.</p>
2805
+ * <p>The Amazon Resource Name (ARN) of the aggregator.</p>
2233
2806
  * @public
2234
2807
  */
2235
- awsRegion?: string | undefined;
2808
+ ConfigurationAggregatorArn?: string | undefined;
2236
2809
  /**
2237
- * <p>The Availability Zone associated with the resource.</p>
2810
+ * <p>Provides a list of source accounts and regions to be
2811
+ * aggregated.</p>
2238
2812
  * @public
2239
2813
  */
2240
- availabilityZone?: string | undefined;
2814
+ AccountAggregationSources?: AccountAggregationSource[] | undefined;
2241
2815
  /**
2242
- * <p>The time stamp when the resource was created.</p>
2816
+ * <p>Provides an organization and list of regions to be
2817
+ * aggregated.</p>
2243
2818
  * @public
2244
2819
  */
2245
- resourceCreationTime?: Date | undefined;
2820
+ OrganizationAggregationSource?: OrganizationAggregationSource | undefined;
2246
2821
  /**
2247
- * <p>A mapping of key value tags associated with the
2248
- * resource.</p>
2822
+ * <p>The time stamp when the configuration aggregator was
2823
+ * created.</p>
2249
2824
  * @public
2250
2825
  */
2251
- tags?: Record<string, string> | undefined;
2826
+ CreationTime?: Date | undefined;
2252
2827
  /**
2253
- * <p>A list of CloudTrail event IDs.</p>
2254
- * <p>A populated field indicates that the current configuration was
2255
- * initiated by the events recorded in the CloudTrail log. For more
2256
- * information about CloudTrail, see <a href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html">What Is CloudTrail</a>.</p>
2257
- * <p>An empty field indicates that the current configuration was not
2258
- * initiated by any event. As of Version 1.3, the relatedEvents field is empty.
2259
- * You can access the <a href="https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html">LookupEvents API</a> in the <i>CloudTrail API Reference</i> to retrieve the events for the resource.</p>
2828
+ * <p>The time of the last update.</p>
2260
2829
  * @public
2261
2830
  */
2262
- relatedEvents?: string[] | undefined;
2831
+ LastUpdatedTime?: Date | undefined;
2263
2832
  /**
2264
- * <p>A list of related Amazon Web Services resources.</p>
2833
+ * <p>Amazon Web Services service that created the configuration aggregator.</p>
2265
2834
  * @public
2266
2835
  */
2267
- relationships?: Relationship[] | undefined;
2836
+ CreatedBy?: string | undefined;
2268
2837
  /**
2269
- * <p>The description of the resource configuration.</p>
2838
+ * <p>An object to filter the data you specify for an aggregator.</p>
2270
2839
  * @public
2271
2840
  */
2272
- configuration?: string | undefined;
2841
+ AggregatorFilters?: AggregatorFilters | undefined;
2842
+ }
2843
+ /**
2844
+ * <p>The relationship of the related resource to the main
2845
+ * resource.</p>
2846
+ * @public
2847
+ */
2848
+ export interface Relationship {
2273
2849
  /**
2274
- * <p>Configuration attributes that Config returns for certain
2275
- * resource types to supplement the information returned for the
2276
- * <code>configuration</code> parameter.</p>
2850
+ * <p>The resource type of the related resource.</p>
2277
2851
  * @public
2278
2852
  */
2279
- supplementaryConfiguration?: Record<string, string> | undefined;
2853
+ resourceType?: ResourceType | undefined;
2280
2854
  /**
2281
- * <p>The recording frequency that Config uses to record configuration changes for the resource.</p>
2855
+ * <p>The ID of the related resource (for example,
2856
+ * <code>sg-xxxxxx</code>).</p>
2282
2857
  * @public
2283
2858
  */
2284
- recordingFrequency?: RecordingFrequency | undefined;
2859
+ resourceId?: string | undefined;
2285
2860
  /**
2286
- * <p>The time when configuration changes for the resource were delivered.</p>
2287
- * <note>
2288
- * <p>This field is optional and is not guaranteed to be present in a configuration item (CI). If you are using daily recording,
2289
- * this field will be populated. However, if you are using continuous recording,
2290
- * 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 <a href="https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html#select-resources-recording-frequency">Recording Frequency</a> in the <i>Config
2291
- * Developer Guide</i>.</p>
2292
- * </note>
2861
+ * <p>The custom name of the related resource, if
2862
+ * available.</p>
2293
2863
  * @public
2294
2864
  */
2295
- configurationItemDeliveryTime?: Date | undefined;
2296
- }
2297
- /**
2298
- * <p>Specifies whether the configuration recorder excludes certain resource types from being recorded.
2299
- * Use the <code>resourceTypes</code> field to enter a comma-separated list of resource types you want to exclude from recording.</p>
2300
- * <p>By default, when Config adds support for a new resource type in the Region where you set up the configuration recorder,
2301
- * including global resource types, Config starts recording resources of that type automatically.</p>
2302
- * <note>
2303
- * <p>
2304
- * <b>How to use the exclusion recording strategy </b>
2305
- * </p>
2306
- * <p>To use this option, you must set the <code>useOnly</code>
2307
- * field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html">RecordingStrategy</a>
2308
- * to <code>EXCLUSION_BY_RESOURCE_TYPES</code>.</p>
2309
- * <p>Config will then record configuration changes for all supported resource types, except the resource types that you specify to exclude from being recorded.</p>
2310
- * <p>
2311
- * <b>Global resource types and the exclusion recording strategy </b>
2312
- * </p>
2313
- * <p>Unless specifically listed as exclusions,
2314
- * <code>AWS::RDS::GlobalCluster</code> will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.</p>
2315
- * <p>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.
2316
- * 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:</p>
2317
- * <ul>
2318
- * <li>
2319
- * <p>Asia Pacific (Hyderabad)</p>
2320
- * </li>
2321
- * <li>
2322
- * <p>Asia Pacific (Melbourne)</p>
2323
- * </li>
2324
- * <li>
2325
- * <p>Canada West (Calgary)</p>
2326
- * </li>
2327
- * <li>
2328
- * <p>Europe (Spain)</p>
2329
- * </li>
2330
- * <li>
2331
- * <p>Europe (Zurich)</p>
2332
- * </li>
2333
- * <li>
2334
- * <p>Israel (Tel Aviv)</p>
2335
- * </li>
2336
- * <li>
2337
- * <p>Middle East (UAE)</p>
2338
- * </li>
2339
- * </ul>
2340
- * </note>
2341
- * @public
2342
- */
2343
- export interface ExclusionByResourceTypes {
2865
+ resourceName?: string | undefined;
2344
2866
  /**
2345
- * <p>A comma-separated list of resource types to exclude from recording by the configuration
2346
- * recorder.</p>
2867
+ * <p>The type of relationship with the related resource.</p>
2347
2868
  * @public
2348
2869
  */
2349
- resourceTypes?: ResourceType[] | undefined;
2870
+ relationshipName?: string | undefined;
2350
2871
  }
2351
2872
  /**
2352
- * @public
2353
- * @enum
2354
- */
2355
- export declare const RecordingStrategyType: {
2356
- readonly ALL_SUPPORTED_RESOURCE_TYPES: "ALL_SUPPORTED_RESOURCE_TYPES";
2357
- readonly EXCLUSION_BY_RESOURCE_TYPES: "EXCLUSION_BY_RESOURCE_TYPES";
2358
- readonly INCLUSION_BY_RESOURCE_TYPES: "INCLUSION_BY_RESOURCE_TYPES";
2359
- };
2360
- /**
2361
- * @public
2362
- */
2363
- export type RecordingStrategyType = (typeof RecordingStrategyType)[keyof typeof RecordingStrategyType];
2364
- /**
2365
- * <p>Specifies the recording strategy of the configuration recorder.</p>
2873
+ * <p>A list that contains detailed configurations of a specified
2874
+ * resource.</p>
2366
2875
  * @public
2367
2876
  */
2368
- export interface RecordingStrategy {
2877
+ export interface ConfigurationItem {
2369
2878
  /**
2370
- * <p>The recording strategy for the configuration recorder.</p>
2371
- * <ul>
2372
- * <li>
2373
- * <p>If you set this option to <code>ALL_SUPPORTED_RESOURCE_TYPES</code>, Config records configuration changes for all supported resource types, excluding the global IAM resource types.
2374
- * You also must set the <code>allSupported</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a> to <code>true</code>.
2375
- * When Config adds support for a new resource type, Config automatically starts recording resources of that type. For a list of supported resource types,
2376
- * see <a href="https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources">Supported Resource Types</a> in the <i>Config developer guide</i>.</p>
2377
- * </li>
2378
- * <li>
2379
- * <p>If you set this option to <code>INCLUSION_BY_RESOURCE_TYPES</code>, Config records
2380
- * configuration changes for only the resource types that you specify in the
2381
- * <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a>.</p>
2382
- * </li>
2383
- * <li>
2384
- * <p>If you set this option to <code>EXCLUSION_BY_RESOURCE_TYPES</code>, Config records
2385
- * configuration changes for all supported resource types, except the resource
2386
- * types that you specify to exclude from being recorded in the
2387
- * <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html">ExclusionByResourceTypes</a>.</p>
2388
- * </li>
2389
- * </ul>
2390
- * <note>
2391
- * <p>
2392
- * <b>Required and optional fields</b>
2393
- * </p>
2394
- * <p>The <code>recordingStrategy</code> field is optional when you set the
2395
- * <code>allSupported</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a> to <code>true</code>.</p>
2396
- * <p>The <code>recordingStrategy</code> field is optional when you list resource types in the
2397
- * <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a>.</p>
2398
- * <p>The <code>recordingStrategy</code> field is required if you list resource types to exclude from recording in the <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html">ExclusionByResourceTypes</a>.</p>
2399
- * </note>
2400
- * <note>
2401
- * <p>
2402
- * <b>Overriding fields</b>
2403
- * </p>
2404
- * <p>If you choose <code>EXCLUSION_BY_RESOURCE_TYPES</code> for the recording strategy, the <code>exclusionByResourceTypes</code> field will override other properties in the request.</p>
2405
- * <p>For example, even if you set <code>includeGlobalResourceTypes</code> to false, global IAM resource types will still be automatically
2406
- * recorded in this option unless those resource types are specifically listed as exclusions in the <code>resourceTypes</code> field of <code>exclusionByResourceTypes</code>.</p>
2407
- * </note>
2408
- * <note>
2409
- * <p>
2410
- * <b>Global resource types and the exclusion recording strategy</b>
2411
- * </p>
2412
- * <p>By default, if you choose the <code>EXCLUSION_BY_RESOURCE_TYPES</code> recording strategy,
2413
- * when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types,
2414
- * Config starts recording resources of that type automatically.</p>
2415
- * <p>Unless specifically listed as exclusions,
2416
- * <code>AWS::RDS::GlobalCluster</code> will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.</p>
2417
- * <p>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.
2418
- * 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:</p>
2419
- * <ul>
2420
- * <li>
2421
- * <p>Asia Pacific (Hyderabad)</p>
2422
- * </li>
2423
- * <li>
2424
- * <p>Asia Pacific (Melbourne)</p>
2425
- * </li>
2426
- * <li>
2427
- * <p>Canada West (Calgary)</p>
2428
- * </li>
2429
- * <li>
2430
- * <p>Europe (Spain)</p>
2431
- * </li>
2432
- * <li>
2433
- * <p>Europe (Zurich)</p>
2434
- * </li>
2435
- * <li>
2436
- * <p>Israel (Tel Aviv)</p>
2437
- * </li>
2438
- * <li>
2439
- * <p>Middle East (UAE)</p>
2440
- * </li>
2441
- * </ul>
2442
- * </note>
2879
+ * <p>The version number of the resource configuration.</p>
2443
2880
  * @public
2444
2881
  */
2445
- useOnly?: RecordingStrategyType | undefined;
2446
- }
2447
- /**
2448
- * <p>Specifies which resource types Config
2449
- * 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,
2450
- * excluding the global IAM resource types: IAM users, groups, roles, and customer managed policies.</p>
2451
- * <p>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.
2452
- * For a list of supported resource types, see <a href="https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources">Supported Resource Types</a> in the <i>Config developer guide</i>.</p>
2453
- * <p>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:</p>
2454
- * <ol>
2455
- * <li>
2456
- * <p>
2457
- * <b>Record all current and future resource types with exclusions</b> (<code>EXCLUSION_BY_RESOURCE_TYPES</code>), or</p>
2458
- * </li>
2459
- * <li>
2460
- * <p>
2461
- * <b>Record specific resource types</b> (<code>INCLUSION_BY_RESOURCE_TYPES</code>).</p>
2462
- * </li>
2463
- * </ol>
2464
- * <p>If you use the recording strategy to <b>Record all current and future resource types</b> (<code>ALL_SUPPORTED_RESOURCE_TYPES</code>),
2465
- * you can use the flag <code>includeGlobalResourceTypes</code> to include the global IAM resource types in your recording.</p>
2466
- * <important>
2467
- * <p>
2468
- * <b>Aurora global clusters are recorded in all enabled Regions</b>
2469
- * </p>
2470
- * <p>The <code>AWS::RDS::GlobalCluster</code> resource type
2471
- * will be recorded in all supported Config Regions where the configuration recorder is enabled.</p>
2472
- * <p>If you do not want to record <code>AWS::RDS::GlobalCluster</code> in all enabled Regions, use the <code>EXCLUSION_BY_RESOURCE_TYPES</code> or <code>INCLUSION_BY_RESOURCE_TYPES</code> recording strategy.</p>
2473
- * </important>
2474
- * @public
2475
- */
2476
- export interface RecordingGroup {
2882
+ version?: string | undefined;
2477
2883
  /**
2478
- * <p>Specifies whether Config records configuration changes for all supported resource types, excluding the global IAM resource types.</p>
2479
- * <p>If you set this field to <code>true</code>, when Config
2480
- * adds support for a new resource type, Config starts recording resources of that type automatically.</p>
2481
- * <p>If you set this field to <code>true</code>,
2482
- * you cannot enumerate specific resource types to record in the <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a>, or to exclude in the <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html">ExclusionByResourceTypes</a>.</p>
2483
- * <note>
2484
- * <p>
2485
- * <b>Region availability</b>
2486
- * </p>
2487
- * <p>Check <a href="https://docs.aws.amazon.com/config/latest/developerguide/what-is-resource-config-coverage.html">Resource Coverage by Region Availability</a>
2488
- * to see if a resource type is supported in the Amazon Web Services Region where you set up Config.</p>
2489
- * </note>
2884
+ * <p>The 12-digit Amazon Web Services account ID associated with the
2885
+ * resource.</p>
2490
2886
  * @public
2491
2887
  */
2492
- allSupported?: boolean | undefined;
2888
+ accountId?: string | undefined;
2493
2889
  /**
2494
- * <p>This option is a bundle which only applies to the global IAM resource types:
2495
- * IAM users, groups, roles, and customer managed policies. These global IAM resource types can only be recorded
2496
- * by Config in Regions where Config was available before February 2022.
2497
- * You cannot be record the global IAM resouce types in Regions supported by Config after February 2022.
2498
- * This list where you cannot record the global IAM resource types includes the following Regions:</p>
2890
+ * <p>The time when the recording of configuration changes was
2891
+ * initiated for the resource.</p>
2892
+ * @public
2893
+ */
2894
+ configurationItemCaptureTime?: Date | undefined;
2895
+ /**
2896
+ * <p>The configuration item status. Valid values include:</p>
2499
2897
  * <ul>
2500
2898
  * <li>
2501
- * <p>Asia Pacific (Hyderabad)</p>
2502
- * </li>
2503
- * <li>
2504
- * <p>Asia Pacific (Melbourne)</p>
2505
- * </li>
2506
- * <li>
2507
- * <p>Canada West (Calgary)</p>
2899
+ * <p>OK – The resource configuration has been updated</p>
2508
2900
  * </li>
2509
2901
  * <li>
2510
- * <p>Europe (Spain)</p>
2902
+ * <p>ResourceDiscovered – The resource was newly discovered</p>
2511
2903
  * </li>
2512
2904
  * <li>
2513
- * <p>Europe (Zurich)</p>
2905
+ * <p>ResourceNotRecorded – The resource was discovered but its configuration was not recorded since the recorder doesn't record resources of this type</p>
2514
2906
  * </li>
2515
2907
  * <li>
2516
- * <p>Israel (Tel Aviv)</p>
2908
+ * <p>ResourceDeleted – The resource was deleted</p>
2517
2909
  * </li>
2518
2910
  * <li>
2519
- * <p>Middle East (UAE)</p>
2911
+ * <p>ResourceDeletedNotRecorded – The resource was deleted but its configuration was not recorded since the recorder doesn't record resources of this type</p>
2520
2912
  * </li>
2521
2913
  * </ul>
2522
- * <important>
2523
- * <p>
2524
- * <b>Aurora global clusters are recorded in all enabled Regions</b>
2525
- * </p>
2526
- * <p>The <code>AWS::RDS::GlobalCluster</code> resource type will be recorded in all supported Config Regions where the configuration recorder is enabled, even if <code>includeGlobalResourceTypes</code> is set<code>false</code>.
2527
- * The <code>includeGlobalResourceTypes</code> option is a bundle which only applies to IAM users, groups, roles, and customer managed policies.
2528
- * </p>
2529
- * <p>If you do not want to record <code>AWS::RDS::GlobalCluster</code> in all enabled Regions, use one of the following recording strategies:</p>
2530
- * <ol>
2531
- * <li>
2532
- * <p>
2533
- * <b>Record all current and future resource types with exclusions</b> (<code>EXCLUSION_BY_RESOURCE_TYPES</code>), or</p>
2534
- * </li>
2535
- * <li>
2536
- * <p>
2537
- * <b>Record specific resource types</b> (<code>INCLUSION_BY_RESOURCE_TYPES</code>).</p>
2538
- * </li>
2539
- * </ol>
2540
- * <p>For more information, see <a href="https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html#select-resources-all">Selecting Which Resources are Recorded</a> in the <i>Config developer guide</i>.</p>
2541
- * </important>
2542
- * <important>
2543
- * <p>
2544
- * <b>includeGlobalResourceTypes and the exclusion recording strategy</b>
2545
- * </p>
2546
- * <p>The <code>includeGlobalResourceTypes</code> field has no impact on the <code>EXCLUSION_BY_RESOURCE_TYPES</code> recording strategy.
2547
- * This means that the global IAM resource types (IAM users, groups, roles, and customer managed policies) will
2548
- * not be automatically added as exclusions for <code>exclusionByResourceTypes</code> when <code>includeGlobalResourceTypes</code> is set to <code>false</code>.</p>
2549
- * <p>The <code>includeGlobalResourceTypes</code> field should only be used to modify the <code>AllSupported</code> field, as the default for
2550
- * the <code>AllSupported</code> field is to record configuration changes for all supported resource types excluding the global
2551
- * IAM resource types. To include the global IAM resource types when <code>AllSupported</code> is set to <code>true</code>, make sure to set <code>includeGlobalResourceTypes</code> to <code>true</code>.</p>
2552
- * <p>To exclude the global IAM resource types for the <code>EXCLUSION_BY_RESOURCE_TYPES</code> recording strategy, you need to manually add them to the <code>resourceTypes</code> field of <code>exclusionByResourceTypes</code>.</p>
2553
- * </important>
2554
- * <note>
2555
- * <p>
2556
- * <b>Required and optional fields</b>
2557
- * </p>
2558
- * <p>Before you set this field to <code>true</code>,
2559
- * set the <code>allSupported</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a> to
2560
- * <code>true</code>. Optionally, you can set the <code>useOnly</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html">RecordingStrategy</a> to <code>ALL_SUPPORTED_RESOURCE_TYPES</code>.</p>
2561
- * </note>
2562
- * <note>
2563
- * <p>
2564
- * <b>Overriding fields</b>
2565
- * </p>
2566
- * <p>If you set this field to <code>false</code> but list global IAM resource types in the <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a>,
2567
- * Config will still record configuration changes for those specified resource types <i>regardless</i> of if you set the <code>includeGlobalResourceTypes</code> field to false.</p>
2568
- * <p>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 <code>resourceTypes</code> field
2569
- * in addition to setting the <code>includeGlobalResourceTypes</code> field to false.</p>
2570
- * </note>
2571
2914
  * @public
2572
2915
  */
2573
- includeGlobalResourceTypes?: boolean | undefined;
2916
+ configurationItemStatus?: ConfigurationItemStatus | undefined;
2574
2917
  /**
2575
- * <p>A comma-separated list that specifies which resource types Config
2576
- * records.</p>
2577
- * <p>For a list of valid <code>resourceTypes</code> values, see the
2578
- * <b>Resource Type Value</b> column in
2579
- * <a href="https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html#supported-resources">Supported Amazon Web Services resource Types</a> in the <i>Config developer guide</i>.</p>
2580
- * <note>
2581
- * <p>
2582
- * <b>Required and optional fields</b>
2583
- * </p>
2584
- * <p>Optionally, you can set the <code>useOnly</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html">RecordingStrategy</a> to <code>INCLUSION_BY_RESOURCE_TYPES</code>.</p>
2585
- * <p>To record all configuration changes,
2586
- * set the <code>allSupported</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a> to
2587
- * <code>true</code>, and either omit this field or don't specify any resource types in this field. If you set the <code>allSupported</code> field to <code>false</code> and specify values for <code>resourceTypes</code>,
2588
- * when Config adds support for a new type of resource,
2589
- * it will not record resources of that type unless you manually add that type to your recording group.</p>
2590
- * </note>
2591
- * <note>
2592
- * <p>
2593
- * <b>Region availability</b>
2594
- * </p>
2595
- * <p>Before specifying a resource type for Config to track,
2596
- * check <a href="https://docs.aws.amazon.com/config/latest/developerguide/what-is-resource-config-coverage.html">Resource Coverage by Region Availability</a>
2597
- * to see if the resource type is supported in the Amazon Web Services Region where you set up Config.
2598
- * If a resource type is supported by Config in at least one Region,
2599
- * you can enable the recording of that resource type in all Regions supported by Config,
2600
- * even if the specified resource type is not supported in the Amazon Web Services Region where you set up Config.</p>
2601
- * </note>
2918
+ * <p>An identifier that indicates the ordering of the configuration
2919
+ * items of a resource.</p>
2602
2920
  * @public
2603
2921
  */
2604
- resourceTypes?: ResourceType[] | undefined;
2922
+ configurationStateId?: string | undefined;
2605
2923
  /**
2606
- * <p>An object that specifies how Config excludes resource types from being recorded by the configuration recorder.</p>
2607
- * <note>
2608
- * <p>
2609
- * <b>Required fields</b>
2610
- * </p>
2611
- * <p>To use this option, you must set the <code>useOnly</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html">RecordingStrategy</a> to <code>EXCLUSION_BY_RESOURCE_TYPES</code>.</p>
2612
- * </note>
2924
+ * <p>Unique MD5 hash that represents the configuration item's
2925
+ * state.</p>
2926
+ * <p>You can use MD5 hash to compare the states of two or more
2927
+ * configuration items that are associated with the same
2928
+ * resource.</p>
2613
2929
  * @public
2614
2930
  */
2615
- exclusionByResourceTypes?: ExclusionByResourceTypes | undefined;
2931
+ configurationItemMD5Hash?: string | undefined;
2616
2932
  /**
2617
- * <p>An object that specifies the recording strategy for the configuration recorder.</p>
2618
- * <ul>
2619
- * <li>
2620
- * <p>If you set the <code>useOnly</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html">RecordingStrategy</a> to <code>ALL_SUPPORTED_RESOURCE_TYPES</code>, Config records configuration changes for all supported resource types, excluding the global IAM resource types. You also must set the <code>allSupported</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a> to <code>true</code>. When Config adds support for a new resource type, Config automatically starts recording resources of that type.</p>
2621
- * </li>
2622
- * <li>
2623
- * <p>If you set the <code>useOnly</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html">RecordingStrategy</a> to <code>INCLUSION_BY_RESOURCE_TYPES</code>, Config records configuration changes for only the resource types you specify in the <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a>.</p>
2624
- * </li>
2625
- * <li>
2626
- * <p>If you set the <code>useOnly</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingStrategy.html">RecordingStrategy</a> to <code>EXCLUSION_BY_RESOURCE_TYPES</code>, Config records configuration changes for all supported resource types
2627
- * except the resource types that you specify to exclude from being recorded in the <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html">ExclusionByResourceTypes</a>.</p>
2628
- * </li>
2629
- * </ul>
2630
- * <note>
2631
- * <p>
2632
- * <b>Required and optional fields</b>
2633
- * </p>
2634
- * <p>The <code>recordingStrategy</code> field is optional when you set the
2635
- * <code>allSupported</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a> to <code>true</code>.</p>
2636
- * <p>The <code>recordingStrategy</code> field is optional when you list resource types in the
2637
- * <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_RecordingGroup.html">RecordingGroup</a>.</p>
2638
- * <p>The <code>recordingStrategy</code> field is required if you list resource types to exclude from recording in the <code>resourceTypes</code> field of <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_ExclusionByResourceTypes.html">ExclusionByResourceTypes</a>.</p>
2639
- * </note>
2640
- * <note>
2641
- * <p>
2642
- * <b>Overriding fields</b>
2643
- * </p>
2644
- * <p>If you choose <code>EXCLUSION_BY_RESOURCE_TYPES</code> for the recording strategy, the <code>exclusionByResourceTypes</code> field will override other properties in the request.</p>
2645
- * <p>For example, even if you set <code>includeGlobalResourceTypes</code> to false, global IAM resource types will still be automatically
2646
- * recorded in this option unless those resource types are specifically listed as exclusions in the <code>resourceTypes</code> field of <code>exclusionByResourceTypes</code>.</p>
2647
- * </note>
2648
- * <note>
2649
- * <p>
2650
- * <b>Global resources types and the resource exclusion recording strategy</b>
2651
- * </p>
2652
- * <p>By default, if you choose the <code>EXCLUSION_BY_RESOURCE_TYPES</code> recording strategy,
2653
- * when Config adds support for a new resource type in the Region where you set up the configuration recorder, including global resource types,
2654
- * Config starts recording resources of that type automatically.</p>
2655
- * <p>Unless specifically listed as exclusions,
2656
- * <code>AWS::RDS::GlobalCluster</code> will be recorded automatically in all supported Config Regions were the configuration recorder is enabled.</p>
2657
- * <p>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.
2658
- * 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:</p>
2659
- * <ul>
2660
- * <li>
2661
- * <p>Asia Pacific (Hyderabad)</p>
2662
- * </li>
2663
- * <li>
2664
- * <p>Asia Pacific (Melbourne)</p>
2665
- * </li>
2666
- * <li>
2667
- * <p>Canada West (Calgary)</p>
2668
- * </li>
2669
- * <li>
2670
- * <p>Europe (Spain)</p>
2671
- * </li>
2672
- * <li>
2673
- * <p>Europe (Zurich)</p>
2674
- * </li>
2675
- * <li>
2676
- * <p>Israel (Tel Aviv)</p>
2677
- * </li>
2678
- * <li>
2679
- * <p>Middle East (UAE)</p>
2680
- * </li>
2681
- * </ul>
2682
- * </note>
2933
+ * <p>Amazon Resource Name (ARN) associated with the resource.</p>
2934
+ * @public
2935
+ */
2936
+ arn?: string | undefined;
2937
+ /**
2938
+ * <p>The type of Amazon Web Services resource.</p>
2939
+ * @public
2940
+ */
2941
+ resourceType?: ResourceType | undefined;
2942
+ /**
2943
+ * <p>The ID of the resource (for example,
2944
+ * <code>sg-xxxxxx</code>).</p>
2945
+ * @public
2946
+ */
2947
+ resourceId?: string | undefined;
2948
+ /**
2949
+ * <p>The custom name of the resource, if available.</p>
2950
+ * @public
2951
+ */
2952
+ resourceName?: string | undefined;
2953
+ /**
2954
+ * <p>The region where the resource resides.</p>
2955
+ * @public
2956
+ */
2957
+ awsRegion?: string | undefined;
2958
+ /**
2959
+ * <p>The Availability Zone associated with the resource.</p>
2960
+ * @public
2961
+ */
2962
+ availabilityZone?: string | undefined;
2963
+ /**
2964
+ * <p>The time stamp when the resource was created.</p>
2965
+ * @public
2966
+ */
2967
+ resourceCreationTime?: Date | undefined;
2968
+ /**
2969
+ * <p>A mapping of key value tags associated with the
2970
+ * resource.</p>
2971
+ * @public
2972
+ */
2973
+ tags?: Record<string, string> | undefined;
2974
+ /**
2975
+ * <p>A list of CloudTrail event IDs.</p>
2976
+ * <p>A populated field indicates that the current configuration was
2977
+ * initiated by the events recorded in the CloudTrail log. For more
2978
+ * information about CloudTrail, see <a href="https://docs.aws.amazon.com/awscloudtrail/latest/userguide/what_is_cloud_trail_top_level.html">What Is CloudTrail</a>.</p>
2979
+ * <p>An empty field indicates that the current configuration was not
2980
+ * initiated by any event. As of Version 1.3, the relatedEvents field is empty.
2981
+ * You can access the <a href="https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_LookupEvents.html">LookupEvents API</a> in the <i>CloudTrail API Reference</i> to retrieve the events for the resource.</p>
2982
+ * @public
2983
+ */
2984
+ relatedEvents?: string[] | undefined;
2985
+ /**
2986
+ * <p>A list of related Amazon Web Services resources.</p>
2987
+ * @public
2988
+ */
2989
+ relationships?: Relationship[] | undefined;
2990
+ /**
2991
+ * <p>The description of the resource configuration.</p>
2683
2992
  * @public
2684
2993
  */
2685
- recordingStrategy?: RecordingStrategy | undefined;
2686
- }
2687
- /**
2688
- * <p>An object for you to specify your overrides for the recording mode.</p>
2689
- * @public
2690
- */
2691
- export interface RecordingModeOverride {
2994
+ configuration?: string | undefined;
2692
2995
  /**
2693
- * <p>A description that you provide for the override.</p>
2996
+ * <p>Configuration attributes that Config returns for certain
2997
+ * resource types to supplement the information returned for the
2998
+ * <code>configuration</code> parameter.</p>
2694
2999
  * @public
2695
3000
  */
2696
- description?: string | undefined;
3001
+ supplementaryConfiguration?: Record<string, string> | undefined;
2697
3002
  /**
2698
- * <p>A comma-separated list that specifies which resource types Config
2699
- * includes in the override.</p>
2700
- * <important>
2701
- * <p>Daily recording is not supported for the following resource types:</p>
2702
- * <ul>
2703
- * <li>
2704
- * <p>
2705
- * <code>AWS::Config::ResourceCompliance</code>
2706
- * </p>
2707
- * </li>
2708
- * <li>
2709
- * <p>
2710
- * <code>AWS::Config::ConformancePackCompliance</code>
2711
- * </p>
2712
- * </li>
2713
- * <li>
2714
- * <p>
2715
- * <code>AWS::Config::ConfigurationRecorder</code>
2716
- * </p>
2717
- * </li>
2718
- * </ul>
2719
- * </important>
3003
+ * <p>The recording frequency that Config uses to record configuration changes for the resource.</p>
2720
3004
  * @public
2721
3005
  */
2722
- resourceTypes: ResourceType[] | undefined;
3006
+ recordingFrequency?: RecordingFrequency | undefined;
2723
3007
  /**
2724
- * <p>The recording frequency that will be applied to all the resource types specified in the override.</p>
2725
- * <ul>
2726
- * <li>
2727
- * <p>Continuous recording allows you to record configuration changes continuously whenever a change occurs.</p>
2728
- * </li>
2729
- * <li>
2730
- * <p>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.
2731
- * </p>
2732
- * </li>
2733
- * </ul>
3008
+ * <p>The time when configuration changes for the resource were delivered.</p>
2734
3009
  * <note>
2735
- * <p>Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager,
2736
- * it is recommended that you set the recording frequency to Continuous.</p>
3010
+ * <p>This field is optional and is not guaranteed to be present in a configuration item (CI). If you are using daily recording,
3011
+ * this field will be populated. However, if you are using continuous recording,
3012
+ * 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 <a href="https://docs.aws.amazon.com/config/latest/developerguide/select-resources.html#select-resources-recording-frequency">Recording Frequency</a> in the <i>Config
3013
+ * Developer Guide</i>.</p>
2737
3014
  * </note>
2738
3015
  * @public
2739
3016
  */
2740
- recordingFrequency: RecordingFrequency | undefined;
3017
+ configurationItemDeliveryTime?: Date | undefined;
2741
3018
  }
2742
3019
  /**
2743
- * <p>Specifies the default recording frequency that Config uses to record configuration changes.
2744
- *
2745
- * Config supports <i>Continuous recording</i> and <i>Daily recording</i>.</p>
2746
- * <ul>
2747
- * <li>
2748
- * <p>Continuous recording allows you to record configuration changes continuously whenever a change occurs.</p>
2749
- * </li>
2750
- * <li>
2751
- * <p>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.
2752
- * </p>
2753
- * </li>
2754
- * </ul>
2755
- * <note>
2756
- * <p>Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager,
2757
- * it is recommended that you set the recording frequency to Continuous.</p>
2758
- * </note>
2759
- * <p>You can also override the recording frequency for specific resource types.</p>
2760
3020
  * @public
3021
+ * @enum
2761
3022
  */
2762
- export interface RecordingMode {
2763
- /**
2764
- * <p>The default recording frequency that Config uses to record configuration changes.</p>
2765
- * <important>
2766
- * <p>Daily recording is not supported for the following resource types:</p>
2767
- * <ul>
2768
- * <li>
2769
- * <p>
2770
- * <code>AWS::Config::ResourceCompliance</code>
2771
- * </p>
2772
- * </li>
2773
- * <li>
2774
- * <p>
2775
- * <code>AWS::Config::ConformancePackCompliance</code>
2776
- * </p>
2777
- * </li>
2778
- * <li>
2779
- * <p>
2780
- * <code>AWS::Config::ConfigurationRecorder</code>
2781
- * </p>
2782
- * </li>
2783
- * </ul>
2784
- * <p>For the <b>allSupported</b> (<code>ALL_SUPPORTED_RESOURCE_TYPES</code>) recording strategy, these resource types will be set to Continuous recording.</p>
2785
- * </important>
2786
- * @public
2787
- */
2788
- recordingFrequency: RecordingFrequency | undefined;
2789
- /**
2790
- * <p>An array of <code>recordingModeOverride</code> objects for you to specify your overrides for the recording mode.
2791
- * The <code>recordingModeOverride</code> object in the <code>recordingModeOverrides</code> array consists of three fields: a <code>description</code>, the new <code>recordingFrequency</code>, and an array of <code>resourceTypes</code> to override.</p>
2792
- * @public
2793
- */
2794
- recordingModeOverrides?: RecordingModeOverride[] | undefined;
2795
- }
3023
+ export declare const ConfigurationRecorderFilterName: {
3024
+ readonly RecordingScope: "recordingScope";
3025
+ };
2796
3026
  /**
2797
- * <p>Records configuration changes to your specified resource types.
2798
- * For more information about the configuration recorder,
2799
- * see <a href="https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html">
2800
- * <b>Managing the Configuration Recorder</b>
2801
- * </a> in the <i>Config Developer Guide</i>.</p>
2802
3027
  * @public
2803
3028
  */
2804
- export interface ConfigurationRecorder {
2805
- /**
2806
- * <p>The name of the configuration recorder. Config automatically assigns the name of "default" when creating the configuration recorder.</p>
2807
- * <note>
2808
- * <p>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. </p>
2809
- * </note>
2810
- * @public
2811
- */
2812
- name?: string | undefined;
2813
- /**
2814
- * <p>Amazon Resource Name (ARN) of the IAM role assumed by Config and used by the configuration recorder.</p>
2815
- * <note>
2816
- * <p>While the API model does not require this field, the server will reject a request without a defined <code>roleARN</code> for the configuration recorder.</p>
2817
- * </note>
2818
- * <note>
2819
- * <p>
2820
- * <b>Pre-existing Config role</b>
2821
- * </p>
2822
- * <p>If you have used an Amazon Web Services service that uses Config, such as Security Hub or
2823
- * Control Tower, and an Config role has already been created, make sure that the
2824
- * IAM role that you use when setting up Config keeps the same minimum
2825
- * permissions as the already created Config role. You must do this so that the
2826
- * other Amazon Web Services service continues to run as expected. </p>
2827
- * <p>For example, if Control Tower has an IAM role that allows Config to read
2828
- * Amazon Simple Storage Service (Amazon S3) objects, make sure that the same permissions are granted
2829
- * within the IAM role you use when setting up Config. Otherwise, it may
2830
- * interfere with how Control Tower operates. For more information about IAM
2831
- * roles for Config,
2832
- * see <a href="https://docs.aws.amazon.com/config/latest/developerguide/security-iam.html">
2833
- * <b>Identity and Access Management for Config</b>
2834
- * </a> in the <i>Config Developer Guide</i>.
2835
- * </p>
2836
- * </note>
2837
- * @public
2838
- */
2839
- roleARN?: string | undefined;
3029
+ export type ConfigurationRecorderFilterName = (typeof ConfigurationRecorderFilterName)[keyof typeof ConfigurationRecorderFilterName];
3030
+ /**
3031
+ * <p>Filters configuration recorders by recording scope.</p>
3032
+ * @public
3033
+ */
3034
+ export interface ConfigurationRecorderFilter {
2840
3035
  /**
2841
- * <p>Specifies which resource types Config
2842
- * records for configuration changes.</p>
2843
- * <note>
2844
- * <p>
2845
- * <b> High Number of Config Evaluations</b>
2846
- * </p>
2847
- * <p>You may notice increased activity in your account during your initial month recording with Config when compared to subsequent months. During the
2848
- * initial bootstrapping process, Config runs evaluations on all the resources in your account that you have selected
2849
- * for Config to record.</p>
2850
- * <p>If you are running ephemeral workloads, you may see increased activity from Config as it records configuration changes associated with creating and deleting these
2851
- * temporary resources. An <i>ephemeral workload</i> is a temporary use of computing resources that are loaded
2852
- * and run when needed. Examples include Amazon Elastic Compute Cloud (Amazon EC2)
2853
- * Spot Instances, Amazon EMR jobs, and Auto Scaling. If you want
2854
- * to avoid the increased activity from running ephemeral workloads, you can run these
2855
- * types of workloads in a separate account with Config turned off to avoid
2856
- * increased configuration recording and rule evaluations.</p>
2857
- * </note>
3036
+ * <p>The name of the type of filter. Currently, only <code>recordingScope</code> is supported.</p>
2858
3037
  * @public
2859
3038
  */
2860
- recordingGroup?: RecordingGroup | undefined;
3039
+ filterName?: ConfigurationRecorderFilterName | undefined;
2861
3040
  /**
2862
- * <p>Specifies the default recording frequency that Config uses to record configuration changes.
2863
- *
2864
- * Config supports <i>Continuous recording</i> and <i>Daily recording</i>.</p>
2865
- * <ul>
2866
- * <li>
2867
- * <p>Continuous recording allows you to record configuration changes continuously whenever a change occurs.</p>
2868
- * </li>
2869
- * <li>
2870
- * <p>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.
2871
- * </p>
2872
- * </li>
2873
- * </ul>
2874
- * <note>
2875
- * <p>Firewall Manager depends on continuous recording to monitor your resources. If you are using Firewall Manager,
2876
- * it is recommended that you set the recording frequency to Continuous.</p>
2877
- * </note>
2878
- * <p>You can also override the recording frequency for specific resource types.</p>
3041
+ * <p>The value of the filter. For <code>recordingScope</code>, valid values include: <code>INTERNAL</code> and <code>PAID</code>.</p>
3042
+ * <p>
3043
+ * <code>INTERNAL</code> indicates that the <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigurationItem.html">ConfigurationItems</a> in scope for the configuration recorder are recorded for free.</p>
3044
+ * <p>
3045
+ * <code>PAID</code> indicates that the <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigurationItem.html">ConfigurationItems</a> in scope for the configuration recorder impact the costs to your bill.</p>
2879
3046
  * @public
2880
3047
  */
2881
- recordingMode?: RecordingMode | undefined;
3048
+ filterValue?: string[] | undefined;
2882
3049
  }
2883
3050
  /**
2884
3051
  * @public
@@ -2886,6 +3053,7 @@ export interface ConfigurationRecorder {
2886
3053
  */
2887
3054
  export declare const RecorderStatus: {
2888
3055
  readonly Failure: "Failure";
3056
+ readonly NotApplicable: "NotApplicable";
2889
3057
  readonly Pending: "Pending";
2890
3058
  readonly Success: "Success";
2891
3059
  };
@@ -2895,12 +3063,15 @@ export declare const RecorderStatus: {
2895
3063
  export type RecorderStatus = (typeof RecorderStatus)[keyof typeof RecorderStatus];
2896
3064
  /**
2897
3065
  * <p>The current status of the configuration recorder.</p>
2898
- * <note>
2899
- * <p>For a detailed status of recording events over time, add your Config events to CloudWatch metrics and use CloudWatch metrics.</p>
2900
- * </note>
3066
+ * <p>For a detailed status of recording events over time, add your Config events to CloudWatch metrics and use CloudWatch metrics.</p>
2901
3067
  * @public
2902
3068
  */
2903
3069
  export interface ConfigurationRecorderStatus {
3070
+ /**
3071
+ * <p>The Amazon Resource Name (ARN) of the configuration recorder.</p>
3072
+ * @public
3073
+ */
3074
+ arn?: string | undefined;
2904
3075
  /**
2905
3076
  * <p>The name of the configuration recorder.</p>
2906
3077
  * @public
@@ -2942,6 +3113,37 @@ export interface ConfigurationRecorderStatus {
2942
3113
  * @public
2943
3114
  */
2944
3115
  lastStatusChangeTime?: Date | undefined;
3116
+ /**
3117
+ * <p>For service-linked configuration recorders, the service principal of the linked Amazon Web Services service.</p>
3118
+ * @public
3119
+ */
3120
+ servicePrincipal?: string | undefined;
3121
+ }
3122
+ /**
3123
+ * <p>A summary of a configuration recorder, including the <code>arn</code>, <code>name</code>, <code>servicePrincipal</code>, and <code>recordingScope</code>.</p>
3124
+ * @public
3125
+ */
3126
+ export interface ConfigurationRecorderSummary {
3127
+ /**
3128
+ * <p>The Amazon Resource Name (ARN) of the configuration recorder.</p>
3129
+ * @public
3130
+ */
3131
+ arn: string | undefined;
3132
+ /**
3133
+ * <p>The name of the configuration recorder.</p>
3134
+ * @public
3135
+ */
3136
+ name: string | undefined;
3137
+ /**
3138
+ * <p>For service-linked configuration recorders, indicates which Amazon Web Services service the configuration recorder is linked to.</p>
3139
+ * @public
3140
+ */
3141
+ servicePrincipal?: string | undefined;
3142
+ /**
3143
+ * <p>Indicates whether the <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_ConfigurationItem.html">ConfigurationItems</a> in scope for the configuration recorder are recorded for free (<code>INTERNAL</code>) or if you are charged a service fee for recording (<code>PAID</code>).</p>
3144
+ * @public
3145
+ */
3146
+ recordingScope: RecordingScope | undefined;
2945
3147
  }
2946
3148
  /**
2947
3149
  * <p>Filters the conformance pack by compliance types and Config rule names.</p>
@@ -3381,30 +3583,36 @@ export interface DeleteConfigurationAggregatorRequest {
3381
3583
  }
3382
3584
  /**
3383
3585
  * <p>The request object for the
3384
- * <code>DeleteConfigurationRecorder</code> action.</p>
3586
+ * <code>DeleteConfigurationRecorder</code> operation.</p>
3385
3587
  * @public
3386
3588
  */
3387
3589
  export interface DeleteConfigurationRecorderRequest {
3388
3590
  /**
3389
- * <p>The name of the configuration recorder to be deleted. You can
3390
- * retrieve the name of your configuration recorder by using the
3391
- * <code>DescribeConfigurationRecorders</code> action.</p>
3591
+ * <p>The name of the customer managed configuration recorder that you want to delete. You can
3592
+ * retrieve the name of your configuration recorders by using the <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_DescribeConfigurationRecorders.html">DescribeConfigurationRecorders</a> operation.</p>
3392
3593
  * @public
3393
3594
  */
3394
3595
  ConfigurationRecorderName: string | undefined;
3395
3596
  }
3396
3597
  /**
3397
- * <p>You have specified a configuration recorder that does not
3398
- * exist.</p>
3598
+ * <p>The requested operation is not valid.</p>
3599
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_PutConfigurationRecorder.html">PutConfigurationRecorder</a>,
3600
+ * you will see this exception because you cannot use this operation to create a service-linked configuration recorder. Use the <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_PutServiceLinkedConfigurationRecorder.html">PutServiceLinkedConfigurationRecorder</a> operation to create a service-linked configuration
3601
+ * recorder.</p>
3602
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_DeleteConfigurationRecorder.html">DeleteConfigurationRecorder</a>, you will see this exception because you cannot use this operation to delete a service-linked configuration recorder. Use the <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_DeleteServiceLinkedConfigurationRecorder.html">DeleteServiceLinkedConfigurationRecorder</a> operation to delete a service-linked configuration
3603
+ * recorder.</p>
3604
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_StartConfigurationRecorder.html">StartConfigurationRecorder</a> and <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_StopConfigurationRecorder.html">StopConfigurationRecorder</a>, you will see this exception because these operations do not affect service-linked configuration recorders.
3605
+ * Service-linked configuration recorders are always recording. To stop recording, you must delete the service-linked configuration recorder. Use the <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_DeleteServiceLinkedConfigurationRecorder.html">DeleteServiceLinkedConfigurationRecorder</a> operation to delete a service-linked configuration
3606
+ * recorder.</p>
3399
3607
  * @public
3400
3608
  */
3401
- export declare class NoSuchConfigurationRecorderException extends __BaseException {
3402
- readonly name: "NoSuchConfigurationRecorderException";
3609
+ export declare class UnmodifiableEntityException extends __BaseException {
3610
+ readonly name: "UnmodifiableEntityException";
3403
3611
  readonly $fault: "client";
3404
3612
  /**
3405
3613
  * @internal
3406
3614
  */
3407
- constructor(opts: __ExceptionOptionType<NoSuchConfigurationRecorderException, __BaseException>);
3615
+ constructor(opts: __ExceptionOptionType<UnmodifiableEntityException, __BaseException>);
3408
3616
  }
3409
3617
  /**
3410
3618
  * @public
@@ -3436,14 +3644,13 @@ export declare class NoSuchConformancePackException extends __BaseException {
3436
3644
  */
3437
3645
  export interface DeleteDeliveryChannelRequest {
3438
3646
  /**
3439
- * <p>The name of the delivery channel to delete.</p>
3647
+ * <p>The name of the delivery channel that you want to delete.</p>
3440
3648
  * @public
3441
3649
  */
3442
3650
  DeliveryChannelName: string | undefined;
3443
3651
  }
3444
3652
  /**
3445
- * <p>You cannot delete the delivery channel you specified because
3446
- * the configuration recorder is running.</p>
3653
+ * <p>You cannot delete the delivery channel you specified because the customer managed configuration recorder is running.</p>
3447
3654
  * @public
3448
3655
  */
3449
3656
  export declare class LastDeliveryChannelDeleteFailedException extends __BaseException {
@@ -3524,7 +3731,7 @@ export declare class NoSuchOrganizationConfigRuleException extends __BaseExcepti
3524
3731
  * </li>
3525
3732
  * <li>
3526
3733
  * <p>You are not a registered delegated administrator for Config with permissions to call <code>ListDelegatedAdministrators</code> API.
3527
- * Ensure that the management account registers delagated administrator for Config service principle name before the delegated administrator creates an aggregator.</p>
3734
+ * Ensure that the management account registers delagated administrator for Config service principal name before the delegated administrator creates an aggregator.</p>
3528
3735
  * </li>
3529
3736
  * </ul>
3530
3737
  * <p>For all <code>OrganizationConfigRule</code> and <code>OrganizationConformancePack</code> APIs, Config throws an exception if APIs are called from member accounts. All APIs must be called from organization management account.</p>
@@ -3601,16 +3808,16 @@ export interface DeleteRemediationConfigurationResponse {
3601
3808
  * <p>Indicates one of the following errors:</p>
3602
3809
  * <ul>
3603
3810
  * <li>
3604
- * <p>For PutConfigRule, the rule cannot be created because the IAM role assigned to Config lacks permissions to perform the config:Put* action.</p>
3811
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_PutConfigRule.html">PutConfigRule</a>, the rule cannot be created because the IAM role assigned to Config lacks permissions to perform the config:Put* action.</p>
3605
3812
  * </li>
3606
3813
  * <li>
3607
- * <p>For PutConfigRule, the Lambda function cannot be invoked. Check the function ARN, and check the function's permissions.</p>
3814
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_PutConfigRule.html">PutConfigRule</a>, the Lambda function cannot be invoked. Check the function ARN, and check the function's permissions.</p>
3608
3815
  * </li>
3609
3816
  * <li>
3610
- * <p>For PutOrganizationConfigRule, organization Config rule cannot be created because you do not have permissions to call IAM <code>GetRole</code> action or create a service-linked role.</p>
3817
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_PutOrganizationConfigRule.html">PutOrganizationConfigRule</a>, organization Config rule cannot be created because you do not have permissions to call IAM <code>GetRole</code> action or create a service-linked role.</p>
3611
3818
  * </li>
3612
3819
  * <li>
3613
- * <p>For PutConformancePack and PutOrganizationConformancePack, a conformance pack cannot be created because you do not have the following permissions: </p>
3820
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_PutConformancePack.html">PutConformancePack</a> and <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_PutOrganizationConformancePack.html">PutOrganizationConformancePack</a>, a conformance pack cannot be created because you do not have the following permissions: </p>
3614
3821
  * <ul>
3615
3822
  * <li>
3616
3823
  * <p>You do not have permission to call IAM <code>GetRole</code> action or create a service-linked role.</p>
@@ -3620,6 +3827,9 @@ export interface DeleteRemediationConfigurationResponse {
3620
3827
  * </li>
3621
3828
  * </ul>
3622
3829
  * </li>
3830
+ * <li>
3831
+ * <p>For <a href="https://docs.aws.amazon.com/config/latest/APIReference/API_PutServiceLinkedConfigurationRecorder.html">PutServiceLinkedConfigurationRecorder</a>, a service-linked configuration recorder cannot be created because you do not have the following permissions: IAM <code>CreateServiceLinkedRole</code>.</p>
3832
+ * </li>
3623
3833
  * </ul>
3624
3834
  * @public
3625
3835
  */
@@ -3773,6 +3983,31 @@ export declare class NoSuchRetentionConfigurationException extends __BaseExcepti
3773
3983
  */
3774
3984
  constructor(opts: __ExceptionOptionType<NoSuchRetentionConfigurationException, __BaseException>);
3775
3985
  }
3986
+ /**
3987
+ * @public
3988
+ */
3989
+ export interface DeleteServiceLinkedConfigurationRecorderRequest {
3990
+ /**
3991
+ * <p>The service principal of the Amazon Web Services service for the service-linked configuration recorder that you want to delete.</p>
3992
+ * @public
3993
+ */
3994
+ ServicePrincipal: string | undefined;
3995
+ }
3996
+ /**
3997
+ * @public
3998
+ */
3999
+ export interface DeleteServiceLinkedConfigurationRecorderResponse {
4000
+ /**
4001
+ * <p>The Amazon Resource Name (ARN) of the specified configuration recorder.</p>
4002
+ * @public
4003
+ */
4004
+ Arn: string | undefined;
4005
+ /**
4006
+ * <p>The name of the specified configuration recorder.</p>
4007
+ * @public
4008
+ */
4009
+ Name: string | undefined;
4010
+ }
3776
4011
  /**
3777
4012
  * @public
3778
4013
  */
@@ -4108,8 +4343,7 @@ export interface DescribeComplianceByConfigRuleResponse {
4108
4343
  export interface DescribeComplianceByResourceRequest {
4109
4344
  /**
4110
4345
  * <p>The types of Amazon Web Services resources for which you want compliance
4111
- * information (for example, <code>AWS::EC2::Instance</code>). For this
4112
- * action, you can specify that the resource type is an Amazon Web Services account by
4346
+ * information (for example, <code>AWS::EC2::Instance</code>). For this operation, you can specify that the resource type is an Amazon Web Services account by
4113
4347
  * specifying <code>AWS::::Account</code>.</p>
4114
4348
  * @public
4115
4349
  */
@@ -4372,10 +4606,20 @@ export interface DescribeConfigurationAggregatorSourcesStatusResponse {
4372
4606
  */
4373
4607
  export interface DescribeConfigurationRecordersRequest {
4374
4608
  /**
4375
- * <p>A list of configuration recorder names.</p>
4609
+ * <p>A list of names of the configuration recorders that you want to specify.</p>
4376
4610
  * @public
4377
4611
  */
4378
4612
  ConfigurationRecorderNames?: string[] | undefined;
4613
+ /**
4614
+ * <p>For service-linked configuration recorders, you can use the service principal of the linked Amazon Web Services service to specify the configuration recorder.</p>
4615
+ * @public
4616
+ */
4617
+ ServicePrincipal?: string | undefined;
4618
+ /**
4619
+ * <p>The Amazon Resource Name (ARN) of the configuration recorder that you want to specify.</p>
4620
+ * @public
4621
+ */
4622
+ Arn?: string | undefined;
4379
4623
  }
4380
4624
  /**
4381
4625
  * <p>The output for the <a>DescribeConfigurationRecorders</a> action.</p>
@@ -4396,12 +4640,25 @@ export interface DescribeConfigurationRecordersResponse {
4396
4640
  */
4397
4641
  export interface DescribeConfigurationRecorderStatusRequest {
4398
4642
  /**
4399
- * <p>The name(s) of the configuration recorder. If the name is not
4400
- * specified, the action returns the current status of all the
4401
- * configuration recorders associated with the account.</p>
4643
+ * <p>The name of the configuration recorder. If the name is not
4644
+ * specified, the opertation returns the status for the customer managed configuration recorder configured for the
4645
+ * account, if applicable.</p>
4646
+ * <note>
4647
+ * <p>When making a request to this operation, you can only specify one configuration recorder.</p>
4648
+ * </note>
4402
4649
  * @public
4403
4650
  */
4404
4651
  ConfigurationRecorderNames?: string[] | undefined;
4652
+ /**
4653
+ * <p>For service-linked configuration recorders, you can use the service principal of the linked Amazon Web Services service to specify the configuration recorder.</p>
4654
+ * @public
4655
+ */
4656
+ ServicePrincipal?: string | undefined;
4657
+ /**
4658
+ * <p>The Amazon Resource Name (ARN) of the configuration recorder that you want to specify.</p>
4659
+ * @public
4660
+ */
4661
+ Arn?: string | undefined;
4405
4662
  }
4406
4663
  /**
4407
4664
  * <p>The output for the <a>DescribeConfigurationRecorderStatus</a> action, in JSON
@@ -5564,7 +5821,7 @@ export interface DescribeRemediationExceptionsResponse {
5564
5821
  */
5565
5822
  export interface DescribeRemediationExecutionStatusRequest {
5566
5823
  /**
5567
- * <p>A list of Config rule names.</p>
5824
+ * <p>The name of the Config rule.</p>
5568
5825
  * @public
5569
5826
  */
5570
5827
  ConfigRuleName: string | undefined;
@@ -5741,12 +5998,41 @@ export interface DescribeRetentionConfigurationsResponse {
5741
5998
  */
5742
5999
  RetentionConfigurations?: RetentionConfiguration[] | undefined;
5743
6000
  /**
5744
- * <p>The <code>nextToken</code> string returned on a previous page
5745
- * that you use to get the next page of results in a paginated
5746
- * response. </p>
6001
+ * <p>The <code>nextToken</code> string returned on a previous page
6002
+ * that you use to get the next page of results in a paginated
6003
+ * response. </p>
6004
+ * @public
6005
+ */
6006
+ NextToken?: string | undefined;
6007
+ }
6008
+ /**
6009
+ * @public
6010
+ */
6011
+ export interface DisassociateResourceTypesRequest {
6012
+ /**
6013
+ * <p>The Amazon Resource Name (ARN) of the specified configuration recorder.</p>
6014
+ * @public
6015
+ */
6016
+ ConfigurationRecorderArn: string | undefined;
6017
+ /**
6018
+ * <p>The list of resource types you want to remove from the recording group of the specified configuration recorder.</p>
6019
+ * @public
6020
+ */
6021
+ ResourceTypes: ResourceType[] | undefined;
6022
+ }
6023
+ /**
6024
+ * @public
6025
+ */
6026
+ export interface DisassociateResourceTypesResponse {
6027
+ /**
6028
+ * <p>Records configuration changes to the resource types in scope.</p>
6029
+ * <p>For more information about the configuration recorder,
6030
+ * see <a href="https://docs.aws.amazon.com/config/latest/developerguide/stop-start-recorder.html">
6031
+ * <b>Working with the Configuration Recorder</b>
6032
+ * </a> in the <i>Config Developer Guide</i>.</p>
5747
6033
  * @public
5748
6034
  */
5749
- NextToken?: string | undefined;
6035
+ ConfigurationRecorder: ConfigurationRecorder | undefined;
5750
6036
  }
5751
6037
  /**
5752
6038
  * <p>Identifies an Amazon Web Services resource and indicates whether it complies
@@ -7310,7 +7596,7 @@ export declare class IdempotentParameterMismatch extends __BaseException {
7310
7596
  constructor(opts: __ExceptionOptionType<IdempotentParameterMismatch, __BaseException>);
7311
7597
  }
7312
7598
  /**
7313
- * <p>Your Amazon S3 bucket policy does not permit Config to
7599
+ * <p>Your Amazon S3 bucket policy does not allow Config to
7314
7600
  * write to it.</p>
7315
7601
  * @public
7316
7602
  */
@@ -7323,7 +7609,7 @@ export declare class InsufficientDeliveryPolicyException extends __BaseException
7323
7609
  constructor(opts: __ExceptionOptionType<InsufficientDeliveryPolicyException, __BaseException>);
7324
7610
  }
7325
7611
  /**
7326
- * <p>You have provided a name for the configuration recorder that is not
7612
+ * <p>You have provided a name for the customer managed configuration recorder that is not
7327
7613
  * valid.</p>
7328
7614
  * @public
7329
7615
  */
@@ -7360,7 +7646,7 @@ export declare class InvalidExpressionException extends __BaseException {
7360
7646
  constructor(opts: __ExceptionOptionType<InvalidExpressionException, __BaseException>);
7361
7647
  }
7362
7648
  /**
7363
- * <p>Indicates one of the following errors:</p>
7649
+ * <p>One of the following errors:</p>
7364
7650
  * <ul>
7365
7651
  * <li>
7366
7652
  * <p>You have provided a combination of parameter values that is not valid. For example:</p>
@@ -7407,7 +7693,7 @@ export declare class InvalidResultTokenException extends __BaseException {
7407
7693
  constructor(opts: __ExceptionOptionType<InvalidResultTokenException, __BaseException>);
7408
7694
  }
7409
7695
  /**
7410
- * <p>You have provided a null or empty Amazon Resource Name (ARN) for the IAM role assumed by Config and used by the configuration recorder.</p>
7696
+ * <p>You have provided a null or empty Amazon Resource Name (ARN) for the IAM role assumed by Config and used by the customer managed configuration recorder.</p>
7411
7697
  * @public
7412
7698
  */
7413
7699
  export declare class InvalidRoleException extends __BaseException {
@@ -7455,7 +7741,9 @@ export declare class InvalidSNSTopicARNException extends __BaseException {
7455
7741
  constructor(opts: __ExceptionOptionType<InvalidSNSTopicARNException, __BaseException>);
7456
7742
  }
7457
7743
  /**
7458
- * <p>For <code>StartConfigRulesEvaluation</code> API, this exception
7744
+ * <p>For <code>PutServiceLinkedConfigurationRecorder</code> API, this exception
7745
+ * is thrown if the number of service-linked roles in the account exceeds the limit.</p>
7746
+ * <p>For <code>StartConfigRulesEvaluation</code> API, this exception
7459
7747
  * is thrown if an evaluation is in progress or if you call the <a>StartConfigRulesEvaluation</a> API more than once per
7460
7748
  * minute.</p>
7461
7749
  * <p>For <code>PutConfigurationAggregator</code> API, this exception
@@ -7542,342 +7830,3 @@ export interface ListAggregateDiscoveredResourcesResponse {
7542
7830
  */
7543
7831
  NextToken?: string | undefined;
7544
7832
  }
7545
- /**
7546
- * @public
7547
- * @enum
7548
- */
7549
- export declare const SortBy: {
7550
- readonly SCORE: "SCORE";
7551
- };
7552
- /**
7553
- * @public
7554
- */
7555
- export type SortBy = (typeof SortBy)[keyof typeof SortBy];
7556
- /**
7557
- * @public
7558
- * @enum
7559
- */
7560
- export declare const SortOrder: {
7561
- readonly ASCENDING: "ASCENDING";
7562
- readonly DESCENDING: "DESCENDING";
7563
- };
7564
- /**
7565
- * @public
7566
- */
7567
- export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder];
7568
- /**
7569
- * @public
7570
- */
7571
- export interface ListConformancePackComplianceScoresRequest {
7572
- /**
7573
- * <p>Filters the results based on the <code>ConformancePackComplianceScoresFilters</code>.</p>
7574
- * @public
7575
- */
7576
- Filters?: ConformancePackComplianceScoresFilters | undefined;
7577
- /**
7578
- * <p>Determines the order in which conformance pack compliance scores are sorted. Either in ascending or descending order.</p>
7579
- * <p>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 <code>DESCENDING</code>.</p>
7580
- * <p>You can sort conformance pack compliance scores by the numerical value of the compliance score by entering <code>SCORE</code> in the <code>SortBy</code> action. When compliance scores are sorted by <code>SCORE</code>, conformance packs with a compliance score of <code>INSUFFICIENT_DATA</code> will be last when sorting by ascending order and first when sorting by descending order.</p>
7581
- * @public
7582
- */
7583
- SortOrder?: SortOrder | undefined;
7584
- /**
7585
- * <p>Sorts your conformance pack compliance scores in either ascending or descending order, depending on <code>SortOrder</code>.</p>
7586
- * <p>By default, conformance pack compliance scores are sorted in alphabetical order by name of the conformance pack.
7587
- * Enter <code>SCORE</code>, to sort conformance pack compliance scores by the numerical value of the compliance score.</p>
7588
- * @public
7589
- */
7590
- SortBy?: SortBy | undefined;
7591
- /**
7592
- * <p>The maximum number of conformance pack compliance scores returned on each page.</p>
7593
- * @public
7594
- */
7595
- Limit?: number | undefined;
7596
- /**
7597
- * <p>The <code>nextToken</code> string in a prior request that you can use to get the paginated response for the next set of conformance pack compliance scores.</p>
7598
- * @public
7599
- */
7600
- NextToken?: string | undefined;
7601
- }
7602
- /**
7603
- * @public
7604
- */
7605
- export interface ListConformancePackComplianceScoresResponse {
7606
- /**
7607
- * <p>The <code>nextToken</code> string that you can use to get the next page of results in a paginated response.</p>
7608
- * @public
7609
- */
7610
- NextToken?: string | undefined;
7611
- /**
7612
- * <p>A list of <code>ConformancePackComplianceScore</code> objects.</p>
7613
- * @public
7614
- */
7615
- ConformancePackComplianceScores: ConformancePackComplianceScore[] | undefined;
7616
- }
7617
- /**
7618
- * <p></p>
7619
- * @public
7620
- */
7621
- export interface ListDiscoveredResourcesRequest {
7622
- /**
7623
- * <p>The type of resources that you want Config to list in the
7624
- * response.</p>
7625
- * @public
7626
- */
7627
- resourceType: ResourceType | undefined;
7628
- /**
7629
- * <p>The IDs of only those resources that you want Config to
7630
- * list in the response. If you do not specify this parameter, Config lists all resources of the specified type that it has
7631
- * discovered. You can list a minimum of 1 resourceID and a maximum of 20 resourceIds.</p>
7632
- * @public
7633
- */
7634
- resourceIds?: string[] | undefined;
7635
- /**
7636
- * <p>The custom name of only those resources that you want Config to list in the response. If you do not specify this
7637
- * parameter, Config lists all resources of the specified type that
7638
- * it has discovered.</p>
7639
- * @public
7640
- */
7641
- resourceName?: string | undefined;
7642
- /**
7643
- * <p>The maximum number of resource identifiers returned on each
7644
- * page. The default is 100. You cannot specify a number greater than
7645
- * 100. If you specify 0, Config uses the default.</p>
7646
- * @public
7647
- */
7648
- limit?: number | undefined;
7649
- /**
7650
- * <p>Specifies whether Config includes deleted resources in the
7651
- * results. By default, deleted resources are not included.</p>
7652
- * @public
7653
- */
7654
- includeDeletedResources?: boolean | undefined;
7655
- /**
7656
- * <p>The <code>nextToken</code> string returned on a previous page
7657
- * that you use to get the next page of results in a paginated
7658
- * response.</p>
7659
- * @public
7660
- */
7661
- nextToken?: string | undefined;
7662
- }
7663
- /**
7664
- * <p>The details that identify a resource that is discovered by Config, including the resource type, ID, and (if available) the
7665
- * custom resource name.</p>
7666
- * @public
7667
- */
7668
- export interface ResourceIdentifier {
7669
- /**
7670
- * <p>The type of resource.</p>
7671
- * @public
7672
- */
7673
- resourceType?: ResourceType | undefined;
7674
- /**
7675
- * <p>The ID of the resource (for example,
7676
- * <code>sg-xxxxxx</code>).</p>
7677
- * @public
7678
- */
7679
- resourceId?: string | undefined;
7680
- /**
7681
- * <p>The custom name of the resource (if available).</p>
7682
- * @public
7683
- */
7684
- resourceName?: string | undefined;
7685
- /**
7686
- * <p>The time that the resource was deleted.</p>
7687
- * @public
7688
- */
7689
- resourceDeletionTime?: Date | undefined;
7690
- }
7691
- /**
7692
- * <p></p>
7693
- * @public
7694
- */
7695
- export interface ListDiscoveredResourcesResponse {
7696
- /**
7697
- * <p>The details that identify a resource that is discovered by Config, including the resource type, ID, and (if available) the
7698
- * custom resource name.</p>
7699
- * @public
7700
- */
7701
- resourceIdentifiers?: ResourceIdentifier[] | undefined;
7702
- /**
7703
- * <p>The string that you use in a subsequent request to get the next
7704
- * page of results in a paginated response.</p>
7705
- * @public
7706
- */
7707
- nextToken?: string | undefined;
7708
- }
7709
- /**
7710
- * <p>Filters evaluation results based on start and end times.</p>
7711
- * @public
7712
- */
7713
- export interface TimeWindow {
7714
- /**
7715
- * <p>The start time of an execution.</p>
7716
- * @public
7717
- */
7718
- StartTime?: Date | undefined;
7719
- /**
7720
- * <p>The end time of an execution. The end time must be after the start date.</p>
7721
- * @public
7722
- */
7723
- EndTime?: Date | undefined;
7724
- }
7725
- /**
7726
- * <p>Returns details of a resource evaluation based on the selected filter.</p>
7727
- * @public
7728
- */
7729
- export interface ResourceEvaluationFilters {
7730
- /**
7731
- * <p>Filters all resource evaluations results based on an evaluation mode.</p>
7732
- * <important>
7733
- * <p>Currently, <code>DECTECTIVE</code> is not supported as a valid value. Ignore other documentation stating otherwise.</p>
7734
- * </important>
7735
- * @public
7736
- */
7737
- EvaluationMode?: EvaluationMode | undefined;
7738
- /**
7739
- * <p>Returns a <code>TimeWindow</code> object.</p>
7740
- * @public
7741
- */
7742
- TimeWindow?: TimeWindow | undefined;
7743
- /**
7744
- * <p>Filters evaluations for a given infrastructure deployment. For example: CFN Stack.</p>
7745
- * @public
7746
- */
7747
- EvaluationContextIdentifier?: string | undefined;
7748
- }
7749
- /**
7750
- * @public
7751
- */
7752
- export interface ListResourceEvaluationsRequest {
7753
- /**
7754
- * <p>Returns a <code>ResourceEvaluationFilters</code> object.</p>
7755
- * @public
7756
- */
7757
- Filters?: ResourceEvaluationFilters | undefined;
7758
- /**
7759
- * <p>The maximum number of evaluations returned on each page. The default is 10.
7760
- * You cannot specify a number greater than 100. If you specify 0, Config uses the default.</p>
7761
- * @public
7762
- */
7763
- Limit?: number | undefined;
7764
- /**
7765
- * <p>The <code>nextToken</code> string returned on a previous page that you use to get the next page of results in a paginated response.</p>
7766
- * @public
7767
- */
7768
- NextToken?: string | undefined;
7769
- }
7770
- /**
7771
- * <p>Returns details of a resource evaluation.</p>
7772
- * @public
7773
- */
7774
- export interface ResourceEvaluation {
7775
- /**
7776
- * <p>The ResourceEvaluationId of a evaluation.</p>
7777
- * @public
7778
- */
7779
- ResourceEvaluationId?: string | undefined;
7780
- /**
7781
- * <p>The mode of an evaluation. The valid values are Detective or Proactive.</p>
7782
- * @public
7783
- */
7784
- EvaluationMode?: EvaluationMode | undefined;
7785
- /**
7786
- * <p>The starting time of an execution.</p>
7787
- * @public
7788
- */
7789
- EvaluationStartTimestamp?: Date | undefined;
7790
- }
7791
- /**
7792
- * @public
7793
- */
7794
- export interface ListResourceEvaluationsResponse {
7795
- /**
7796
- * <p>Returns a <code>ResourceEvaluations</code> object.</p>
7797
- * @public
7798
- */
7799
- ResourceEvaluations?: ResourceEvaluation[] | undefined;
7800
- /**
7801
- * <p>The <code>nextToken</code> string returned on a previous page that you use to get the next page of results in a paginated response.</p>
7802
- * @public
7803
- */
7804
- NextToken?: string | undefined;
7805
- }
7806
- /**
7807
- * @public
7808
- */
7809
- export interface ListStoredQueriesRequest {
7810
- /**
7811
- * <p>The nextToken string returned in a previous request that you use to request the next page of results in a paginated response.</p>
7812
- * @public
7813
- */
7814
- NextToken?: string | undefined;
7815
- /**
7816
- * <p>The maximum number of results to be returned with a single call.</p>
7817
- * @public
7818
- */
7819
- MaxResults?: number | undefined;
7820
- }
7821
- /**
7822
- * <p>Returns details of a specific query. </p>
7823
- * @public
7824
- */
7825
- export interface StoredQueryMetadata {
7826
- /**
7827
- * <p>The ID of the query. </p>
7828
- * @public
7829
- */
7830
- QueryId: string | undefined;
7831
- /**
7832
- * <p>Amazon Resource Name (ARN) of the query. For example, arn:partition:service:region:account-id:resource-type/resource-name/resource-id.</p>
7833
- * @public
7834
- */
7835
- QueryArn: string | undefined;
7836
- /**
7837
- * <p>The name of the query.</p>
7838
- * @public
7839
- */
7840
- QueryName: string | undefined;
7841
- /**
7842
- * <p>A unique description for the query.</p>
7843
- * @public
7844
- */
7845
- Description?: string | undefined;
7846
- }
7847
- /**
7848
- * @public
7849
- */
7850
- export interface ListStoredQueriesResponse {
7851
- /**
7852
- * <p>A list of <code>StoredQueryMetadata</code> objects.</p>
7853
- * @public
7854
- */
7855
- StoredQueryMetadata?: StoredQueryMetadata[] | undefined;
7856
- /**
7857
- * <p>If the previous paginated request didn't return all of the remaining results, the response object's <code>NextToken</code> parameter value is set to a token.
7858
- * To retrieve the next set of results, call this action again and assign that token to the request object's <code>NextToken</code> parameter.
7859
- * If there are no remaining results, the previous response object's <code>NextToken</code> parameter is set to <code>null</code>. </p>
7860
- * @public
7861
- */
7862
- NextToken?: string | undefined;
7863
- }
7864
- /**
7865
- * @public
7866
- */
7867
- export interface ListTagsForResourceRequest {
7868
- /**
7869
- * <p>The Amazon Resource Name (ARN) that identifies the resource for which to list the tags. Currently, the supported resources are <code>ConfigRule</code>, <code>ConfigurationAggregator</code> and <code>AggregatorAuthorization</code>.</p>
7870
- * @public
7871
- */
7872
- ResourceArn: string | undefined;
7873
- /**
7874
- * <p>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. </p>
7875
- * @public
7876
- */
7877
- Limit?: number | undefined;
7878
- /**
7879
- * <p>The <code>nextToken</code> string returned on a previous page that you use to get the next page of results in a paginated response. </p>
7880
- * @public
7881
- */
7882
- NextToken?: string | undefined;
7883
- }