@aws-cdk/aws-iot-alpha 2.163.0-alpha.0 → 2.164.0-alpha.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.
- package/.jsii +773 -16
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +37 -1
- package/README.md +37 -0
- package/lib/audit-configuration.js +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/iot-sql.js +1 -1
- package/lib/logging.js +1 -1
- package/lib/scheduled-audit.d.ts +255 -0
- package/lib/scheduled-audit.js +285 -0
- package/lib/topic-rule.js +1 -1
- package/package.json +7 -7
package/.jsii.tabl.json.gz
CHANGED
|
Binary file
|
package/.warnings.jsii.js
CHANGED
|
@@ -42,6 +42,42 @@ function _aws_cdk_aws_iot_alpha_LoggingProps(p) {
|
|
|
42
42
|
}
|
|
43
43
|
function _aws_cdk_aws_iot_alpha_Logging(p) {
|
|
44
44
|
}
|
|
45
|
+
function _aws_cdk_aws_iot_alpha_IScheduledAudit(p) {
|
|
46
|
+
}
|
|
47
|
+
function _aws_cdk_aws_iot_alpha_ScheduledAuditAttributes(p) {
|
|
48
|
+
}
|
|
49
|
+
function _aws_cdk_aws_iot_alpha_AuditCheck(p) {
|
|
50
|
+
}
|
|
51
|
+
function _aws_cdk_aws_iot_alpha_DayOfWeek(p) {
|
|
52
|
+
}
|
|
53
|
+
function _aws_cdk_aws_iot_alpha_DayOfMonth(p) {
|
|
54
|
+
}
|
|
55
|
+
function _aws_cdk_aws_iot_alpha_Frequency(p) {
|
|
56
|
+
}
|
|
57
|
+
function _aws_cdk_aws_iot_alpha_ScheduledAuditProps(p) {
|
|
58
|
+
if (p == null)
|
|
59
|
+
return;
|
|
60
|
+
visitedObjects.add(p);
|
|
61
|
+
try {
|
|
62
|
+
if (!visitedObjects.has(p.accountAuditConfiguration))
|
|
63
|
+
_aws_cdk_aws_iot_alpha_IAccountAuditConfiguration(p.accountAuditConfiguration);
|
|
64
|
+
if (p.auditChecks != null)
|
|
65
|
+
for (const o of p.auditChecks)
|
|
66
|
+
if (!visitedObjects.has(o))
|
|
67
|
+
_aws_cdk_aws_iot_alpha_AuditCheck(o);
|
|
68
|
+
if (!visitedObjects.has(p.frequency))
|
|
69
|
+
_aws_cdk_aws_iot_alpha_Frequency(p.frequency);
|
|
70
|
+
if (!visitedObjects.has(p.dayOfMonth))
|
|
71
|
+
_aws_cdk_aws_iot_alpha_DayOfMonth(p.dayOfMonth);
|
|
72
|
+
if (!visitedObjects.has(p.dayOfWeek))
|
|
73
|
+
_aws_cdk_aws_iot_alpha_DayOfWeek(p.dayOfWeek);
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
visitedObjects.delete(p);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function _aws_cdk_aws_iot_alpha_ScheduledAudit(p) {
|
|
80
|
+
}
|
|
45
81
|
function _aws_cdk_aws_iot_alpha_ITopicRule(p) {
|
|
46
82
|
}
|
|
47
83
|
function _aws_cdk_aws_iot_alpha_TopicRuleProps(p) {
|
|
@@ -100,4 +136,4 @@ class DeprecationError extends Error {
|
|
|
100
136
|
});
|
|
101
137
|
}
|
|
102
138
|
}
|
|
103
|
-
module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_iot_alpha_IAction, _aws_cdk_aws_iot_alpha_ActionConfig, _aws_cdk_aws_iot_alpha_IAccountAuditConfiguration, _aws_cdk_aws_iot_alpha_CheckConfiguration, _aws_cdk_aws_iot_alpha_AccountAuditConfigurationProps, _aws_cdk_aws_iot_alpha_AccountAuditConfiguration, _aws_cdk_aws_iot_alpha_IotSqlConfig, _aws_cdk_aws_iot_alpha_IotSql, _aws_cdk_aws_iot_alpha_ILogging, _aws_cdk_aws_iot_alpha_LogLevel, _aws_cdk_aws_iot_alpha_LoggingProps, _aws_cdk_aws_iot_alpha_Logging, _aws_cdk_aws_iot_alpha_ITopicRule, _aws_cdk_aws_iot_alpha_TopicRuleProps, _aws_cdk_aws_iot_alpha_TopicRule };
|
|
139
|
+
module.exports = { print, getPropertyDescriptor, DeprecationError, _aws_cdk_aws_iot_alpha_IAction, _aws_cdk_aws_iot_alpha_ActionConfig, _aws_cdk_aws_iot_alpha_IAccountAuditConfiguration, _aws_cdk_aws_iot_alpha_CheckConfiguration, _aws_cdk_aws_iot_alpha_AccountAuditConfigurationProps, _aws_cdk_aws_iot_alpha_AccountAuditConfiguration, _aws_cdk_aws_iot_alpha_IotSqlConfig, _aws_cdk_aws_iot_alpha_IotSql, _aws_cdk_aws_iot_alpha_ILogging, _aws_cdk_aws_iot_alpha_LogLevel, _aws_cdk_aws_iot_alpha_LoggingProps, _aws_cdk_aws_iot_alpha_Logging, _aws_cdk_aws_iot_alpha_IScheduledAudit, _aws_cdk_aws_iot_alpha_ScheduledAuditAttributes, _aws_cdk_aws_iot_alpha_AuditCheck, _aws_cdk_aws_iot_alpha_DayOfWeek, _aws_cdk_aws_iot_alpha_DayOfMonth, _aws_cdk_aws_iot_alpha_Frequency, _aws_cdk_aws_iot_alpha_ScheduledAuditProps, _aws_cdk_aws_iot_alpha_ScheduledAudit, _aws_cdk_aws_iot_alpha_ITopicRule, _aws_cdk_aws_iot_alpha_TopicRuleProps, _aws_cdk_aws_iot_alpha_TopicRule };
|
package/README.md
CHANGED
|
@@ -139,3 +139,40 @@ new iot.AccountAuditConfiguration(this, 'AuditConfiguration', {
|
|
|
139
139
|
},
|
|
140
140
|
});
|
|
141
141
|
```
|
|
142
|
+
|
|
143
|
+
### Scheduled Audit
|
|
144
|
+
|
|
145
|
+
You can create a [scheduled audit](https://docs.aws.amazon.com/iot-device-defender/latest/devguide/AuditCommands.html#device-defender-AuditCommandsManageSchedules) that is run at a specified time interval. Checks must be enabled for your account by creating `AccountAuditConfiguration`.
|
|
146
|
+
|
|
147
|
+
```ts
|
|
148
|
+
declare const config: iot.AccountAuditConfiguration;
|
|
149
|
+
|
|
150
|
+
// Daily audit
|
|
151
|
+
const dailyAudit = new iot.ScheduledAudit(this, 'DailyAudit', {
|
|
152
|
+
accountAuditConfiguration: config,
|
|
153
|
+
frequency: iot.Frequency.DAILY,
|
|
154
|
+
auditChecks: [
|
|
155
|
+
iot.AuditCheck.AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK,
|
|
156
|
+
],
|
|
157
|
+
})
|
|
158
|
+
|
|
159
|
+
// Weekly audit
|
|
160
|
+
const weeklyAudit = new iot.ScheduledAudit(this, 'WeeklyAudit', {
|
|
161
|
+
accountAuditConfiguration: config,
|
|
162
|
+
frequency: iot.Frequency.WEEKLY,
|
|
163
|
+
dayOfWeek: iot.DayOfWeek.SUNDAY,
|
|
164
|
+
auditChecks: [
|
|
165
|
+
iot.AuditCheck.CA_CERTIFICATE_EXPIRING_CHECK,
|
|
166
|
+
],
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
// Monthly audit
|
|
170
|
+
const monthlyAudit = new iot.ScheduledAudit(this, 'MonthlyAudit', {
|
|
171
|
+
accountAuditConfiguration: config,
|
|
172
|
+
frequency: iot.Frequency.MONTHLY,
|
|
173
|
+
dayOfMonth: iot.DayOfMonth.of(1),
|
|
174
|
+
auditChecks: [
|
|
175
|
+
iot.AuditCheck.CA_CERTIFICATE_KEY_QUALITY_CHECK,
|
|
176
|
+
],
|
|
177
|
+
});
|
|
178
|
+
```
|
|
@@ -112,5 +112,5 @@ class AccountAuditConfiguration extends core_1.Resource {
|
|
|
112
112
|
}
|
|
113
113
|
exports.AccountAuditConfiguration = AccountAuditConfiguration;
|
|
114
114
|
_a = JSII_RTTI_SYMBOL_1;
|
|
115
|
-
AccountAuditConfiguration[_a] = { fqn: "@aws-cdk/aws-iot-alpha.AccountAuditConfiguration", version: "2.
|
|
115
|
+
AccountAuditConfiguration[_a] = { fqn: "@aws-cdk/aws-iot-alpha.AccountAuditConfiguration", version: "2.164.0-alpha.0" };
|
|
116
116
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImF1ZGl0LWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMkNBQThEO0FBRTlELDJDQUEyQztBQUMzQywyQ0FBMkM7QUEwSzNDOztHQUVHO0FBQ0gsTUFBYSx5QkFBMEIsU0FBUSxlQUFRO0lBQ3JEOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsU0FBaUI7UUFDekUsTUFBTSxNQUFPLFNBQVEsZUFBUTtZQUE3Qjs7Z0JBQ2tCLGNBQVMsR0FBRyxTQUFTLENBQUM7WUFDeEMsQ0FBQztTQUFBO1FBQ0QsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7S0FDOUI7SUFRRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNDO1FBQzlFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7Ozs7OzsrQ0F0QlIseUJBQXlCOzs7O1FBd0JsQyxJQUFJLENBQUMsU0FBUyxHQUFHLFlBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDO1FBRXhDLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO1lBQ2hELFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQztZQUN4RCxlQUFlLEVBQUU7Z0JBQ2YsR0FBRyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyx3Q0FBd0MsQ0FBQzthQUNyRjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksR0FBRyxDQUFDLDRCQUE0QixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDckQsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLHdCQUF3QixFQUFFLElBQUksQ0FBQyw4QkFB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U0FDMUcsQ0FBQztLQUNIO0lBRUQ7O09BRUc7SUFDSyw2QkFBNkIsQ0FBQyxLQUFlO1FBQ25ELE9BQU8sS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztLQUN4RDs7QUE1R0gsOERBNkdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb3VyY2UsIFN0YWNrLCBJUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgaW90IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pb3QnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgc25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgQVdTIElvVCBBdWRpdCBDb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUFjY291bnRBdWRpdENvbmZpZ3VyYXRpb24gZXh0ZW5kcyBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIGFjY291bnQgSURcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgYWNjb3VudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIHR5cGVzIG9mIGF1ZGl0IGNoZWNrc1xuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2lvdC1kZXZpY2UtZGVmZW5kZXIvbGF0ZXN0L2Rldmd1aWRlL2RldmljZS1kZWZlbmRlci1hdWRpdC1jaGVja3MuaHRtbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDaGVja3MgdGhlIHBlcm1pc3NpdmVuZXNzIG9mIGFuIGF1dGhlbnRpY2F0ZWQgQW1hem9uIENvZ25pdG8gaWRlbnRpdHkgcG9vbCByb2xlLlxuICAgKlxuICAgKiBGb3IgdGhpcyBjaGVjaywgQVdTIElvVCBEZXZpY2UgRGVmZW5kZXIgYXVkaXRzIGFsbCBBbWF6b24gQ29nbml0byBpZGVudGl0eSBwb29scyB0aGF0IGhhdmUgYmVlbiB1c2VkIHRvIGNvbm5lY3QgdG8gdGhlIEFXUyBJb1QgbWVzc2FnZSBicm9rZXJcbiAgICogZHVyaW5nIHRoZSAzMSBkYXlzIGJlZm9yZSB0aGUgYXVkaXQgaXMgcGVyZm9ybWVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBhdXRoZW50aWNhdGVkQ29nbml0b1JvbGVPdmVybHlQZXJtaXNzaXZlQ2hlY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYSBDQSBjZXJ0aWZpY2F0ZSBpcyBleHBpcmluZy5cbiAgICpcbiAgICogVGhpcyBjaGVjayBhcHBsaWVzIHRvIENBIGNlcnRpZmljYXRlcyBleHBpcmluZyB3aXRoaW4gMzAgZGF5cyBvciB0aGF0IGhhdmUgZXhwaXJlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FDZXJ0aWZpY2F0ZUV4cGlyaW5nQ2hlY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgdGhlIHF1YWxpdHkgb2YgdGhlIENBIGNlcnRpZmljYXRlIGtleS5cbiAgICpcbiAgICogVGhlIHF1YWxpdHkgY2hlY2tzIGlmIHRoZSBrZXkgaXMgaW4gYSB2YWxpZCBmb3JtYXQsIG5vdCBleHBpcmVkLCBhbmQgaWYgdGhlIGtleSBtZWV0cyBhIG1pbmltdW0gcmVxdWlyZWQgc2l6ZS5cbiAgICpcbiAgICogVGhpcyBjaGVjayBhcHBsaWVzIHRvIENBIGNlcnRpZmljYXRlcyB0aGF0IGFyZSBBQ1RJVkUgb3IgUEVORElOR19UUkFOU0ZFUi5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FDZXJ0aWZpY2F0ZUtleVF1YWxpdHlDaGVjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBtdWx0aXBsZSBkZXZpY2VzIGNvbm5lY3QgdXNpbmcgdGhlIHNhbWUgY2xpZW50IElELlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjb25mbGljdGluZ0NsaWVudElkc0NoZWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGEgZGV2aWNlIGNlcnRpZmljYXRlIGlzIGV4cGlyaW5nLlxuICAgKlxuICAgKiBUaGlzIGNoZWNrIGFwcGxpZXMgdG8gZGV2aWNlIGNlcnRpZmljYXRlcyBleHBpcmluZyB3aXRoaW4gMzAgZGF5cyBvciB0aGF0IGhhdmUgZXhwaXJlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGV2aWNlQ2VydGlmaWNhdGVFeHBpcmluZ0NoZWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ2hlY2tzIHRoZSBxdWFsaXR5IG9mIHRoZSBkZXZpY2UgY2VydGlmaWNhdGUga2V5LlxuICAgKlxuICAgKiBUaGUgcXVhbGl0eSBjaGVja3MgaWYgdGhlIGtleSBpcyBpbiBhIHZhbGlkIGZvcm1hdCwgbm90IGV4cGlyZWQsIHNpZ25lZCBieSBhIHJlZ2lzdGVyZWQgY2VydGlmaWNhdGUgYXV0aG9yaXR5LFxuICAgKiBhbmQgaWYgdGhlIGtleSBtZWV0cyBhIG1pbmltdW0gcmVxdWlyZWQgc2l6ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGV2aWNlQ2VydGlmaWNhdGVLZXlRdWFsaXR5Q2hlY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgbXVsdGlwbGUgY29uY3VycmVudCBjb25uZWN0aW9ucyB1c2UgdGhlIHNhbWUgWC41MDkgY2VydGlmaWNhdGUgdG8gYXV0aGVudGljYXRlIHdpdGggQVdTIElvVC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGV2aWNlQ2VydGlmaWNhdGVTaGFyZWRDaGVjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBkZXZpY2UgY2VydGlmaWNhdGVzIGFyZSBzdGlsbCBhY3RpdmUgZGVzcGl0ZSBiZWluZyByZXZva2VkIGJ5IGFuIGludGVybWVkaWF0ZSBDQS5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZXJtZWRpYXRlQ2FSZXZva2VkRm9yQWN0aXZlRGV2aWNlQ2VydGlmaWNhdGVzQ2hlY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgdGhlIHBlcm1pc3NpdmVuZXNzIG9mIGEgcG9saWN5IGF0dGFjaGVkIHRvIGFuIGF1dGhlbnRpY2F0ZWQgQW1hem9uIENvZ25pdG8gaWRlbnRpdHkgcG9vbCByb2xlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBpb3RQb2xpY3lPdmVybHlQZXJtaXNzaXZlQ2hlY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYW4gQVdTIElvVCBwb2xpY3kgaXMgcG90ZW50aWFsbHkgbWlzY29uZmlndXJlZC5cbiAgICpcbiAgICogTWlzY29uZmlndXJlZCBwb2xpY2llcywgaW5jbHVkaW5nIG92ZXJseSBwZXJtaXNzaXZlIHBvbGljaWVzLCBjYW4gY2F1c2Ugc2VjdXJpdHkgaW5jaWRlbnRzIGxpa2UgYWxsb3dpbmcgZGV2aWNlcyBhY2Nlc3MgdG8gdW5pbnRlbmRlZCByZXNvdXJjZXMuXG4gICAqXG4gICAqIFRoaXMgY2hlY2sgaXMgYSB3YXJuaW5nIGZvciB5b3UgdG8gbWFrZSBzdXJlIHRoYXQgb25seSBpbnRlbmRlZCBhY3Rpb25zIGFyZSBhbGxvd2VkIGJlZm9yZSB1cGRhdGluZyB0aGUgcG9saWN5LlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBpb1RQb2xpY3lQb3RlbnRpYWxNaXNDb25maWd1cmF0aW9uQ2hlY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgYSByb2xlIGFsaWFzIGhhcyBhY2Nlc3MgdG8gc2VydmljZXMgdGhhdCBoYXZlbid0IGJlZW4gdXNlZCBmb3IgdGhlIEFXUyBJb1QgZGV2aWNlIGluIHRoZSBsYXN0IHllYXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGlvdFJvbGVBbGlhc0FsbG93c0FjY2Vzc1RvVW51c2VkU2VydmljZXNDaGVjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgdGVtcG9yYXJ5IGNyZWRlbnRpYWxzIHByb3ZpZGVkIGJ5IEFXUyBJb1Qgcm9sZSBhbGlhc2VzIGFyZSBvdmVybHkgcGVybWlzc2l2ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW90Um9sZUFsaWFzT3Zlcmx5UGVybWlzc2l2ZUNoZWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIEFXUyBJb1QgbG9ncyBhcmUgZGlzYWJsZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxvZ2dpbmdEaXNhYmxlZENoZWNrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGEgcmV2b2tlZCBDQSBjZXJ0aWZpY2F0ZSBpcyBzdGlsbCBhY3RpdmUuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJldm9rZWRDYUNlcnRpZmljYXRlU3RpbGxBY3RpdmVDaGVjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBhIHJldm9rZWQgZGV2aWNlIGNlcnRpZmljYXRlIGlzIHN0aWxsIGFjdGl2ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcmV2b2tlZERldmljZUNlcnRpZmljYXRlU3RpbGxBY3RpdmVDaGVjaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBwb2xpY3kgYXR0YWNoZWQgdG8gYW4gdW5hdXRoZW50aWNhdGVkIEFtYXpvbiBDb2duaXRvIGlkZW50aXR5IHBvb2wgcm9sZSBpcyB0b28gcGVybWlzc2l2ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdW5hdXRoZW50aWNhdGVkQ29nbml0b1JvbGVPdmVybHlQZXJtaXNzaXZlQ2hlY2s/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGRlZmluaW5nIEFXUyBJb1QgQXVkaXQgQ29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjY291bnRBdWRpdENvbmZpZ3VyYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IFNOUyB0b3BpYyB0byB3aGljaCBhdWRpdCBub3RpZmljYXRpb25zIGFyZSBzZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG5vdGlmaWNhdGlvbnMgYXJlIHNlbnRcbiAgICovXG4gIHJlYWRvbmx5IHRhcmdldFRvcGljPzogc25zLklUb3BpYztcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHdoaWNoIGF1ZGl0IGNoZWNrcyBhcmUgZW5hYmxlZCBhbmQgZGlzYWJsZWQgZm9yIHRoaXMgYWNjb3VudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhbGwgY2hlY2tzIGFyZSBlbmFibGVkXG4gICAqL1xuICByZWFkb25seSBjaGVja0NvbmZpZ3VyYXRpb24/OiBDaGVja0NvbmZpZ3VyYXRpb247XG59XG5cbi8qKlxuICogRGVmaW5lcyBBV1MgSW9UIEF1ZGl0IENvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIEFjY291bnRBdWRpdENvbmZpZ3VyYXRpb24gZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElBY2NvdW50QXVkaXRDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBBV1MgSW9UIEF1ZGl0IENvbmZpZ3VyYXRpb25cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgY3JlYXRpbmcgY29uc3RydWN0ICh1c3VhbGx5IGB0aGlzYClcbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QncyBuYW1lXG4gICAqIEBwYXJhbSBhY2NvdW50SWQgVGhlIGFjY291bnQgSURcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFjY291bnRJZChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBhY2NvdW50SWQ6IHN0cmluZyk6IElBY2NvdW50QXVkaXRDb25maWd1cmF0aW9uIHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElBY2NvdW50QXVkaXRDb25maWd1cmF0aW9uIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBhY2NvdW50SWQgPSBhY2NvdW50SWQ7XG4gICAgfVxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGFjY291bnQgSURcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFjY291bnRJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogQWNjb3VudEF1ZGl0Q29uZmlndXJhdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuYWNjb3VudElkID0gU3RhY2sub2YodGhpcykuYWNjb3VudDtcblxuICAgIGNvbnN0IGF1ZGl0Um9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnQXVkaXRSb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2lvdC5hbWF6b25hd3MuY29tJyksXG4gICAgICBtYW5hZ2VkUG9saWNpZXM6IFtcbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdzZXJ2aWNlLXJvbGUvQVdTSW9URGV2aWNlRGVmZW5kZXJBdWRpdCcpLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIG5ldyBpb3QuQ2ZuQWNjb3VudEF1ZGl0Q29uZmlndXJhdGlvbih0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBhY2NvdW50SWQ6IHRoaXMuYWNjb3VudElkLFxuICAgICAgYXVkaXRDaGVja0NvbmZpZ3VyYXRpb25zOiB0aGlzLnJlbmRlckF1ZGl0Q2hlY2tDb25maWd1cmF0aW9ucyhwcm9wcz8uY2hlY2tDb25maWd1cmF0aW9uKSxcbiAgICAgIGF1ZGl0Tm90aWZpY2F0aW9uVGFyZ2V0Q29uZmlndXJhdGlvbnM6IHRoaXMucmVuZGVyQXVkaXROb3RpZmljYXRpb25UYXJnZXRDb25maWd1cmF0aW9ucyhwcm9wcz8udGFyZ2V0VG9waWMpLFxuICAgICAgcm9sZUFybjogYXVkaXRSb2xlLnJvbGVBcm4sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIHRoZSBhdWRpdCBub3RpZmljYXRpb24gdGFyZ2V0IGNvbmZpZ3VyYXRpb25zXG4gICAqL1xuICBwcml2YXRlIHJlbmRlckF1ZGl0Tm90aWZpY2F0aW9uVGFyZ2V0Q29uZmlndXJhdGlvbnMoXG4gICAgdGFyZ2V0VG9waWM/OiBzbnMuSVRvcGljLFxuICApOiBpb3QuQ2ZuQWNjb3VudEF1ZGl0Q29uZmlndXJhdGlvbi5BdWRpdE5vdGlmaWNhdGlvblRhcmdldENvbmZpZ3VyYXRpb25zUHJvcGVydHkgfCB1bmRlZmluZWQge1xuICAgIGlmICghdGFyZ2V0VG9waWMpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3Qgbm90aWZpY2F0aW9uUm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCAnTm90aWZpY2F0aW9uUm9sZScsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdpb3QuYW1hem9uYXdzLmNvbScpLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgTm90aWZpY2F0aW9uUG9saWN5OiBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGFjdGlvbnM6IFsnc25zOlB1Ymxpc2gnXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbdGFyZ2V0VG9waWMudG9waWNBcm5dLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNuczoge1xuICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICB0YXJnZXRBcm46IHRhcmdldFRvcGljLnRvcGljQXJuLFxuICAgICAgICByb2xlQXJuOiBub3RpZmljYXRpb25Sb2xlLnJvbGVBcm4sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIHRoZSBhdWRpdCBjaGVjayBjb25maWd1cmF0aW9uc1xuICAgKi9cbiAgcHJpdmF0ZSByZW5kZXJBdWRpdENoZWNrQ29uZmlndXJhdGlvbnMoY2hlY2tDb25maWd1cmF0aW9uPzogQ2hlY2tDb25maWd1cmF0aW9uKTogaW90LkNmbkFjY291bnRBdWRpdENvbmZpZ3VyYXRpb24uQXVkaXRDaGVja0NvbmZpZ3VyYXRpb25zUHJvcGVydHkge1xuICAgIHJldHVybiB7XG4gICAgICBhdXRoZW50aWNhdGVkQ29nbml0b1JvbGVPdmVybHlQZXJtaXNzaXZlQ2hlY2s6XG4gICAgICAgIHRoaXMucmVuZGVyQXVkaXRDaGVja0NvbmZpZ3VyYXRpb24oY2hlY2tDb25maWd1cmF0aW9uPy5hdXRoZW50aWNhdGVkQ29nbml0b1JvbGVPdmVybHlQZXJtaXNzaXZlQ2hlY2spLFxuICAgICAgY2FDZXJ0aWZpY2F0ZUV4cGlyaW5nQ2hlY2s6IHRoaXMucmVuZGVyQXVkaXRDaGVja0NvbmZpZ3VyYXRpb24oY2hlY2tDb25maWd1cmF0aW9uPy5jYUNlcnRpZmljYXRlRXhwaXJpbmdDaGVjayksXG4gICAgICBjYUNlcnRpZmljYXRlS2V5UXVhbGl0eUNoZWNrOiB0aGlzLnJlbmRlckF1ZGl0Q2hlY2tDb25maWd1cmF0aW9uKGNoZWNrQ29uZmlndXJhdGlvbj8uY2FDZXJ0aWZpY2F0ZUtleVF1YWxpdHlDaGVjayksXG4gICAgICBjb25mbGljdGluZ0NsaWVudElkc0NoZWNrOiB0aGlzLnJlbmRlckF1ZGl0Q2hlY2tDb25maWd1cmF0aW9uKGNoZWNrQ29uZmlndXJhdGlvbj8uY29uZmxpY3RpbmdDbGllbnRJZHNDaGVjayksXG4gICAgICBkZXZpY2VDZXJ0aWZpY2F0ZUV4cGlyaW5nQ2hlY2s6IHRoaXMucmVuZGVyQXVkaXRDaGVja0NvbmZpZ3VyYXRpb24oY2hlY2tDb25maWd1cmF0aW9uPy5kZXZpY2VDZXJ0aWZpY2F0ZUV4cGlyaW5nQ2hlY2spLFxuICAgICAgZGV2aWNlQ2VydGlmaWNhdGVLZXlRdWFsaXR5Q2hlY2s6IHRoaXMucmVuZGVyQXVkaXRDaGVja0NvbmZpZ3VyYXRpb24oY2hlY2tDb25maWd1cmF0aW9uPy5kZXZpY2VDZXJ0aWZpY2F0ZUtleVF1YWxpdHlDaGVjayksXG4gICAgICBkZXZpY2VDZXJ0aWZpY2F0ZVNoYXJlZENoZWNrOiB0aGlzLnJlbmRlckF1ZGl0Q2hlY2tDb25maWd1cmF0aW9uKGNoZWNrQ29uZmlndXJhdGlvbj8uZGV2aWNlQ2VydGlmaWNhdGVTaGFyZWRDaGVjayksXG4gICAgICBpbnRlcm1lZGlhdGVDYVJldm9rZWRGb3JBY3RpdmVEZXZpY2VDZXJ0aWZpY2F0ZXNDaGVjazpcbiAgICAgICAgdGhpcy5yZW5kZXJBdWRpdENoZWNrQ29uZmlndXJhdGlvbihjaGVja0NvbmZpZ3VyYXRpb24/LmludGVybWVkaWF0ZUNhUmV2b2tlZEZvckFjdGl2ZURldmljZUNlcnRpZmljYXRlc0NoZWNrKSxcbiAgICAgIGlvdFBvbGljeU92ZXJseVBlcm1pc3NpdmVDaGVjazogdGhpcy5yZW5kZXJBdWRpdENoZWNrQ29uZmlndXJhdGlvbihjaGVja0NvbmZpZ3VyYXRpb24/LmlvdFBvbGljeU92ZXJseVBlcm1pc3NpdmVDaGVjayksXG4gICAgICBpb1RQb2xpY3lQb3RlbnRpYWxNaXNDb25maWd1cmF0aW9uQ2hlY2s6IHRoaXMucmVuZGVyQXVkaXRDaGVja0NvbmZpZ3VyYXRpb24oY2hlY2tDb25maWd1cmF0aW9uPy5pb1RQb2xpY3lQb3RlbnRpYWxNaXNDb25maWd1cmF0aW9uQ2hlY2spLFxuICAgICAgaW90Um9sZUFsaWFzQWxsb3dzQWNjZXNzVG9VbnVzZWRTZXJ2aWNlc0NoZWNrOlxuICAgICAgICB0aGlzLnJlbmRlckF1ZGl0Q2hlY2tDb25maWd1cmF0aW9uKGNoZWNrQ29uZmlndXJhdGlvbj8uaW90Um9sZUFsaWFzQWxsb3dzQWNjZXNzVG9VbnVzZWRTZXJ2aWNlc0NoZWNrKSxcbiAgICAgIGlvdFJvbGVBbGlhc092ZXJseVBlcm1pc3NpdmVDaGVjazogdGhpcy5yZW5kZXJBdWRpdENoZWNrQ29uZmlndXJhdGlvbihjaGVja0NvbmZpZ3VyYXRpb24/LmlvdFJvbGVBbGlhc092ZXJseVBlcm1pc3NpdmVDaGVjayksXG4gICAgICBsb2dnaW5nRGlzYWJsZWRDaGVjazogdGhpcy5yZW5kZXJBdWRpdENoZWNrQ29uZmlndXJhdGlvbihjaGVja0NvbmZpZ3VyYXRpb24/LmxvZ2dpbmdEaXNhYmxlZENoZWNrKSxcbiAgICAgIHJldm9rZWRDYUNlcnRpZmljYXRlU3RpbGxBY3RpdmVDaGVjazogdGhpcy5yZW5kZXJBdWRpdENoZWNrQ29uZmlndXJhdGlvbihjaGVja0NvbmZpZ3VyYXRpb24/LnJldm9rZWRDYUNlcnRpZmljYXRlU3RpbGxBY3RpdmVDaGVjayksXG4gICAgICByZXZva2VkRGV2aWNlQ2VydGlmaWNhdGVTdGlsbEFjdGl2ZUNoZWNrOlxuICAgICAgICB0aGlzLnJlbmRlckF1ZGl0Q2hlY2tDb25maWd1cmF0aW9uKGNoZWNrQ29uZmlndXJhdGlvbj8ucmV2b2tlZERldmljZUNlcnRpZmljYXRlU3RpbGxBY3RpdmVDaGVjayksXG4gICAgICB1bmF1dGhlbnRpY2F0ZWRDb2duaXRvUm9sZU92ZXJseVBlcm1pc3NpdmVDaGVjazpcbiAgICAgICAgdGhpcy5yZW5kZXJBdWRpdENoZWNrQ29uZmlndXJhdGlvbihjaGVja0NvbmZpZ3VyYXRpb24/LnVuYXV0aGVudGljYXRlZENvZ25pdG9Sb2xlT3Zlcmx5UGVybWlzc2l2ZUNoZWNrKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgYXVkaXQgY2hlY2sgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSByZW5kZXJBdWRpdENoZWNrQ29uZmlndXJhdGlvbihjaGVjaz86IGJvb2xlYW4pOiBpb3QuQ2ZuQWNjb3VudEF1ZGl0Q29uZmlndXJhdGlvbi5BdWRpdENoZWNrQ29uZmlndXJhdGlvblByb3BlcnR5IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gY2hlY2sgPT09IGZhbHNlID8gdW5kZWZpbmVkIDogeyBlbmFibGVkOiB0cnVlIH07XG4gIH1cbn1cblxuIl19
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -18,6 +18,7 @@ __exportStar(require("./action"), exports);
|
|
|
18
18
|
__exportStar(require("./audit-configuration"), exports);
|
|
19
19
|
__exportStar(require("./iot-sql"), exports);
|
|
20
20
|
__exportStar(require("./logging"), exports);
|
|
21
|
+
__exportStar(require("./scheduled-audit"), exports);
|
|
21
22
|
__exportStar(require("./topic-rule"), exports);
|
|
22
23
|
// AWS::IoT CloudFormation Resources:
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQXlCO0FBQ3pCLHdEQUFzQztBQUN0Qyw0Q0FBMEI7QUFDMUIsNENBQTBCO0FBQzFCLG9EQUFrQztBQUNsQywrQ0FBNkI7QUFFN0IscUNBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hdWRpdC1jb25maWd1cmF0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vaW90LXNxbCc7XG5leHBvcnQgKiBmcm9tICcuL2xvZ2dpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9zY2hlZHVsZWQtYXVkaXQnO1xuZXhwb3J0ICogZnJvbSAnLi90b3BpYy1ydWxlJztcblxuLy8gQVdTOjpJb1QgQ2xvdWRGb3JtYXRpb24gUmVzb3VyY2VzOlxuIl19
|
package/lib/iot-sql.js
CHANGED
|
@@ -38,7 +38,7 @@ class IotSql {
|
|
|
38
38
|
}
|
|
39
39
|
exports.IotSql = IotSql;
|
|
40
40
|
_a = JSII_RTTI_SYMBOL_1;
|
|
41
|
-
IotSql[_a] = { fqn: "@aws-cdk/aws-iot-alpha.IotSql", version: "2.
|
|
41
|
+
IotSql[_a] = { fqn: "@aws-cdk/aws-iot-alpha.IotSql", version: "2.164.0-alpha.0" };
|
|
42
42
|
class IotSqlImpl extends IotSql {
|
|
43
43
|
constructor(version, sql) {
|
|
44
44
|
super();
|
package/lib/logging.js
CHANGED
|
@@ -118,5 +118,5 @@ class Logging extends core_1.Resource {
|
|
|
118
118
|
}
|
|
119
119
|
exports.Logging = Logging;
|
|
120
120
|
_a = JSII_RTTI_SYMBOL_1;
|
|
121
|
-
Logging[_a] = { fqn: "@aws-cdk/aws-iot-alpha.Logging", version: "2.
|
|
121
|
+
Logging[_a] = { fqn: "@aws-cdk/aws-iot-alpha.Logging", version: "2.164.0-alpha.0" };
|
|
122
122
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsMkNBQThEO0FBRTlELDJDQUEyQztBQUMzQywyQ0FBMkM7QUFhM0M7O0dBRUc7QUFDSCxJQUFZLFFBaUNYO0FBakNELFdBQVksUUFBUTtJQUNsQjs7OztPQUlHO0lBQ0gsMkJBQWUsQ0FBQTtJQUVmOzs7O09BSUc7SUFDSCx5QkFBYSxDQUFBO0lBRWI7Ozs7T0FJRztJQUNILHlCQUFhLENBQUE7SUFFYjs7OztPQUlHO0lBQ0gsMkJBQWUsQ0FBQTtJQUVmOztPQUVHO0lBQ0gsaUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQWpDVyxRQUFRLHdCQUFSLFFBQVEsUUFpQ25CO0FBY0Q7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxlQUFRO0lBQ25DOzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBYTtRQUNqRSxNQUFNLE1BQU8sU0FBUSxlQUFRO1lBQTdCOztnQkFDa0IsVUFBSyxHQUFHLEtBQUssQ0FBQztZQUNoQyxDQUFDO1NBQUE7UUFDRCxPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztLQUM5QjtJQVFELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQzs7Ozs7OytDQXRCUixPQUFPOzs7O1FBd0JoQixNQUFNLFNBQVMsR0FBRyxZQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUV6Qyw0QkFBNEI7UUFDNUIsaUhBQWlIO1FBQ2pILE1BQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3RDLFNBQVMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxtQkFBbUIsQ0FBQztZQUN4RCxjQUFjLEVBQUU7Z0JBQ2QsYUFBYSxFQUFFLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQztvQkFDcEMsVUFBVSxFQUFFO3dCQUNWLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQzs0QkFDdEIsT0FBTyxFQUFFO2dDQUNQLHFCQUFxQjtnQ0FDckIsc0JBQXNCO2dDQUN0QixtQkFBbUI7Z0NBQ25CLHNCQUFzQjtnQ0FDdEIseUJBQXlCO2dDQUN6Qix1QkFBdUI7Z0NBQ3ZCLHVCQUF1QjtnQ0FDdkIseUJBQXlCO2dDQUN6Qix5QkFBeUI7Z0NBQ3pCLHVCQUF1QjtnQ0FDdkIseUJBQXlCO2dDQUN6QiwwQkFBMEI7NkJBQzNCOzRCQUNELFNBQVMsRUFBRTtnQ0FDVCxZQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQztvQ0FDdkIsT0FBTyxFQUFFLE1BQU07b0NBQ2YsUUFBUSxFQUFFLFdBQVc7b0NBQ3JCLEdBQUcsRUFBRSxHQUFHO29DQUNSLFlBQVksRUFBRSxnQkFBZ0I7aUNBQy9CLENBQUM7NkJBQ0g7eUJBQ0YsQ0FBQztxQkFDSDtpQkFDRixDQUFDO2FBQ0g7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtZQUNwRCxTQUFTO1lBQ1QsZUFBZSxFQUFFLEtBQUssRUFBRSxRQUFRLElBQUksUUFBUSxDQUFDLEtBQUs7WUFDbEQsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztLQUMzQjs7QUFyRUgsMEJBc0VDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb3VyY2UsIFN0YWNrLCBJUmVzb3VyY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgaW90IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pb3QnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgQVdTIElvVCBMb2dnaW5nXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUxvZ2dpbmcgZXh0ZW5kcyBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIGxvZyBJRFxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBsb2dJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBsb2cgbGV2ZWwgZm9yIHRoZSBBV1MgSW9UIExvZ2dpbmdcbiAqL1xuZXhwb3J0IGVudW0gTG9nTGV2ZWwge1xuICAvKipcbiAgICogQW55IGVycm9yIHRoYXQgY2F1c2VzIGFuIG9wZXJhdGlvbiB0byBmYWlsXG4gICAqXG4gICAqIExvZ3MgaW5jbHVkZSBFUlJPUiBpbmZvcm1hdGlvbiBvbmx5XG4gICAqL1xuICBFUlJPUiA9ICdFUlJPUicsXG5cbiAgLyoqXG4gICAqIEFueXRoaW5nIHRoYXQgY2FuIHBvdGVudGlhbGx5IGNhdXNlIGluY29uc2lzdGVuY2llcyBpbiB0aGUgc3lzdGVtLCBidXQgbWlnaHQgbm90IGNhdXNlIHRoZSBvcGVyYXRpb24gdG8gZmFpbFxuICAgKlxuICAgKiBMb2dzIGluY2x1ZGUgRVJST1IgYW5kIFdBUk4gaW5mb3JtYXRpb25cbiAgICovXG4gIFdBUk4gPSAnV0FSTicsXG5cbiAgLyoqXG4gICAqIEhpZ2gtbGV2ZWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZsb3cgb2YgdGhpbmdzXG4gICAqXG4gICAqIExvZ3MgaW5jbHVkZSBJTkZPLCBFUlJPUiwgYW5kIFdBUk4gaW5mb3JtYXRpb25cbiAgICovXG4gIElORk8gPSAnSU5GTycsXG5cbiAgLyoqXG4gICAqIEluZm9ybWF0aW9uIHRoYXQgbWlnaHQgYmUgaGVscGZ1bCB3aGVuIGRlYnVnZ2luZyBhIHByb2JsZW1cbiAgICpcbiAgICogTG9ncyBpbmNsdWRlIERFQlVHLCBJTkZPLCBFUlJPUiwgYW5kIFdBUk4gaW5mb3JtYXRpb25cbiAgICovXG4gIERFQlVHID0gJ0RFQlVHJyxcblxuICAvKipcbiAgICogQWxsIGxvZ2dpbmcgaXMgZGlzYWJsZWRcbiAgICovXG4gIERJU0FCTEVEID0gJ0RJU0FCTEVEJyxcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBkZWZpbmluZyBBV1MgSW9UIExvZ2dpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dnaW5nUHJvcHMge1xuICAvKipcbiAgICogVGhlIGxvZyBsZXZlbCBmb3IgdGhlIEFXUyBJb1QgTG9nZ2luZ1xuICAgKlxuICAgKiBAZGVmYXVsdCBMb2dMZXZlbC5FUlJPUlxuICAgKi9cbiAgcmVhZG9ubHkgbG9nTGV2ZWw/OiBMb2dMZXZlbDtcbn1cblxuLyoqXG4gKiBEZWZpbmVzIEFXUyBJb1QgTG9nZ2luZ1xuICovXG5leHBvcnQgY2xhc3MgTG9nZ2luZyBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSUxvZ2dpbmcge1xuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIEFXUyBJb1QgTG9nZ2luZ1xuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIHBhcmVudCBjcmVhdGluZyBjb25zdHJ1Y3QgKHVzdWFsbHkgYHRoaXNgKVxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCdzIG5hbWVcbiAgICogQHBhcmFtIGxvZ0lkIEFXUyBJb1QgTG9nZ2luZyBJRFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tTG9nSWQoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgbG9nSWQ6IHN0cmluZyk6IElMb2dnaW5nIHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElMb2dnaW5nIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBsb2dJZCA9IGxvZ0lkO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBsb2dnaW5nIElEXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsb2dJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzPzogTG9nZ2luZ1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IGFjY291bnRJZCA9IFN0YWNrLm9mKHRoaXMpLmFjY291bnQ7XG5cbiAgICAvLyBDcmVhdGUgYSByb2xlIGZvciBsb2dnaW5nXG4gICAgLy8gaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2lvdC9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvY29uZmlndXJlLWxvZ2dpbmcuaHRtbCNjb25maWd1cmUtbG9nZ2luZy1yb2xlLWFuZC1wb2xpY3lcbiAgICBjb25zdCByb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsICdSb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2lvdC5hbWF6b25hd3MuY29tJyksXG4gICAgICBpbmxpbmVQb2xpY2llczoge1xuICAgICAgICBMb2dnaW5nUG9saWN5OiBuZXcgaWFtLlBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAnbG9nczpDcmVhdGVMb2dHcm91cCcsXG4gICAgICAgICAgICAgICAgJ2xvZ3M6Q3JlYXRlTG9nU3RyZWFtJyxcbiAgICAgICAgICAgICAgICAnbG9nczpQdXRMb2dFdmVudHMnLFxuICAgICAgICAgICAgICAgICdsb2dzOlB1dE1ldHJpY0ZpbHRlcicsXG4gICAgICAgICAgICAgICAgJ2xvZ3M6UHV0UmV0ZW50aW9uUG9saWN5JyxcbiAgICAgICAgICAgICAgICAnaW90OkdldExvZ2dpbmdPcHRpb25zJyxcbiAgICAgICAgICAgICAgICAnaW90OlNldExvZ2dpbmdPcHRpb25zJyxcbiAgICAgICAgICAgICAgICAnaW90OlNldFYyTG9nZ2luZ09wdGlvbnMnLFxuICAgICAgICAgICAgICAgICdpb3Q6R2V0VjJMb2dnaW5nT3B0aW9ucycsXG4gICAgICAgICAgICAgICAgJ2lvdDpTZXRWMkxvZ2dpbmdMZXZlbCcsXG4gICAgICAgICAgICAgICAgJ2lvdDpMaXN0VjJMb2dnaW5nTGV2ZWxzJyxcbiAgICAgICAgICAgICAgICAnaW90OkRlbGV0ZVYyTG9nZ2luZ0xldmVsJyxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXG4gICAgICAgICAgICAgICAgU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgICAgICAgICAgICAgIHNlcnZpY2U6ICdsb2dzJyxcbiAgICAgICAgICAgICAgICAgIHJlc291cmNlOiAnbG9nLWdyb3VwJyxcbiAgICAgICAgICAgICAgICAgIHNlcDogJzonLFxuICAgICAgICAgICAgICAgICAgcmVzb3VyY2VOYW1lOiAnQVdTSW90TG9nc1YyOionLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgaW90LkNmbkxvZ2dpbmcodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgYWNjb3VudElkLFxuICAgICAgZGVmYXVsdExvZ0xldmVsOiBwcm9wcz8ubG9nTGV2ZWwgPz8gTG9nTGV2ZWwuRVJST1IsXG4gICAgICByb2xlQXJuOiByb2xlLnJvbGVBcm4sXG4gICAgfSk7XG5cbiAgICB0aGlzLmxvZ0lkID0gcmVzb3VyY2UucmVmO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
import { Resource, IResource } from 'aws-cdk-lib/core';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
3
|
+
import { IAccountAuditConfiguration } from './audit-configuration';
|
|
4
|
+
/**
|
|
5
|
+
* Represents AWS IoT Scheduled Audit
|
|
6
|
+
*/
|
|
7
|
+
export interface IScheduledAudit extends IResource {
|
|
8
|
+
/**
|
|
9
|
+
* The scheduled audit name
|
|
10
|
+
* @attribute
|
|
11
|
+
*/
|
|
12
|
+
readonly scheduledAuditName: string;
|
|
13
|
+
/**
|
|
14
|
+
* The ARN of the scheduled audit
|
|
15
|
+
* @attribute
|
|
16
|
+
*/
|
|
17
|
+
readonly scheduledAuditArn: string;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Construction properties for a Scheduled Audit
|
|
21
|
+
*/
|
|
22
|
+
export interface ScheduledAuditAttributes {
|
|
23
|
+
/**
|
|
24
|
+
* The scheduled audit name
|
|
25
|
+
*/
|
|
26
|
+
readonly scheduledAuditName: string;
|
|
27
|
+
/**
|
|
28
|
+
* The ARN of the scheduled audit
|
|
29
|
+
*/
|
|
30
|
+
readonly scheduledAuditArn: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The AWS IoT Device Defender audit checks
|
|
34
|
+
*
|
|
35
|
+
* @see https://docs.aws.amazon.com/iot-device-defender/latest/devguide/device-defender-audit-checks.html
|
|
36
|
+
*/
|
|
37
|
+
export declare enum AuditCheck {
|
|
38
|
+
/**
|
|
39
|
+
* Checks the permissiveness of an authenticated Amazon Cognito identity pool role.
|
|
40
|
+
*
|
|
41
|
+
* For this check, AWS IoT Device Defender audits all Amazon Cognito identity pools that have been used to connect to the AWS IoT message broker
|
|
42
|
+
* during the 31 days before the audit is performed.
|
|
43
|
+
*/
|
|
44
|
+
AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK = "AUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK",
|
|
45
|
+
/**
|
|
46
|
+
* Checks if a CA certificate is expiring.
|
|
47
|
+
*
|
|
48
|
+
* This check applies to CA certificates expiring within 30 days or that have expired.
|
|
49
|
+
*/
|
|
50
|
+
CA_CERTIFICATE_EXPIRING_CHECK = "CA_CERTIFICATE_EXPIRING_CHECK",
|
|
51
|
+
/**
|
|
52
|
+
* Checks the quality of the CA certificate key.
|
|
53
|
+
*
|
|
54
|
+
* The quality checks if the key is in a valid format, not expired, and if the key meets a minimum required size.
|
|
55
|
+
*
|
|
56
|
+
* This check applies to CA certificates that are ACTIVE or PENDING_TRANSFER.
|
|
57
|
+
*/
|
|
58
|
+
CA_CERTIFICATE_KEY_QUALITY_CHECK = "CA_CERTIFICATE_KEY_QUALITY_CHECK",
|
|
59
|
+
/**
|
|
60
|
+
* Checks if multiple devices connect using the same client ID.
|
|
61
|
+
*/
|
|
62
|
+
CONFLICTING_CLIENT_IDS_CHECK = "CONFLICTING_CLIENT_IDS_CHECK",
|
|
63
|
+
/**
|
|
64
|
+
* Checks if a device certificate is expiring.
|
|
65
|
+
*
|
|
66
|
+
* This check applies to device certificates expiring within 30 days or that have expired.
|
|
67
|
+
*/
|
|
68
|
+
DEVICE_CERTIFICATE_EXPIRING_CHECK = "DEVICE_CERTIFICATE_EXPIRING_CHECK",
|
|
69
|
+
/**
|
|
70
|
+
* Checks the quality of the device certificate key.
|
|
71
|
+
*
|
|
72
|
+
* The quality checks if the key is in a valid format, not expired, signed by a registered certificate authority,
|
|
73
|
+
* and if the key meets a minimum required size.
|
|
74
|
+
*/
|
|
75
|
+
DEVICE_CERTIFICATE_KEY_QUALITY_CHECK = "DEVICE_CERTIFICATE_KEY_QUALITY_CHECK",
|
|
76
|
+
/**
|
|
77
|
+
* Checks if multiple concurrent connections use the same X.509 certificate to authenticate with AWS IoT.
|
|
78
|
+
*/
|
|
79
|
+
DEVICE_CERTIFICATE_SHARED_CHECK = "DEVICE_CERTIFICATE_SHARED_CHECK",
|
|
80
|
+
/**
|
|
81
|
+
* Checks the permissiveness of a policy attached to an authenticated Amazon Cognito identity pool role.
|
|
82
|
+
*/
|
|
83
|
+
IOT_POLICY_OVERLY_PERMISSIVE_CHECK = "IOT_POLICY_OVERLY_PERMISSIVE_CHECK",
|
|
84
|
+
/**
|
|
85
|
+
* Checks if a role alias has access to services that haven't been used for the AWS IoT device in the last year.
|
|
86
|
+
*/
|
|
87
|
+
IOT_ROLE_ALIAS_ALLOWS_ACCESS_TO_UNUSED_SERVICES_CHECK = "IOT_ROLE_ALIAS_ALLOWS_ACCESS_TO_UNUSED_SERVICES_CHECK",
|
|
88
|
+
/**
|
|
89
|
+
* Checks if the temporary credentials provided by AWS IoT role aliases are overly permissive.
|
|
90
|
+
*/
|
|
91
|
+
IOT_ROLE_ALIAS_OVERLY_PERMISSIVE_CHECK = "IOT_ROLE_ALIAS_OVERLY_PERMISSIVE_CHECK",
|
|
92
|
+
/**
|
|
93
|
+
* Checks if AWS IoT logs are disabled.
|
|
94
|
+
*/
|
|
95
|
+
LOGGING_DISABLED_CHECK = "LOGGING_DISABLED_CHECK",
|
|
96
|
+
/**
|
|
97
|
+
* Checks if a revoked CA certificate is still active.
|
|
98
|
+
*/
|
|
99
|
+
REVOKED_CA_CERTIFICATE_STILL_ACTIVE_CHECK = "REVOKED_CA_CERTIFICATE_STILL_ACTIVE_CHECK",
|
|
100
|
+
/**
|
|
101
|
+
* Checks if a revoked device certificate is still active.
|
|
102
|
+
*/
|
|
103
|
+
REVOKED_DEVICE_CERTIFICATE_STILL_ACTIVE_CHECK = "REVOKED_DEVICE_CERTIFICATE_STILL_ACTIVE_CHECK",
|
|
104
|
+
/**
|
|
105
|
+
* Checks if policy attached to an unauthenticated Amazon Cognito identity pool role is too permissive.
|
|
106
|
+
*/
|
|
107
|
+
UNAUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK = "UNAUTHENTICATED_COGNITO_ROLE_OVERLY_PERMISSIVE_CHECK"
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The day of the week on which the scheduled audit takes place.
|
|
111
|
+
*/
|
|
112
|
+
export declare enum DayOfWeek {
|
|
113
|
+
/**
|
|
114
|
+
* Sunday
|
|
115
|
+
*/
|
|
116
|
+
SUNDAY = "SUN",
|
|
117
|
+
/**
|
|
118
|
+
* Monday
|
|
119
|
+
*/
|
|
120
|
+
MONDAY = "MON",
|
|
121
|
+
/**
|
|
122
|
+
* Tuesday
|
|
123
|
+
*/
|
|
124
|
+
TUESDAY = "TUE",
|
|
125
|
+
/**
|
|
126
|
+
* Wednesday
|
|
127
|
+
*/
|
|
128
|
+
WEDNESDAY = "WED",
|
|
129
|
+
/**
|
|
130
|
+
* Thursday
|
|
131
|
+
*/
|
|
132
|
+
THURSDAY = "THU",
|
|
133
|
+
/**
|
|
134
|
+
* Friday
|
|
135
|
+
*/
|
|
136
|
+
FRIDAY = "FRI",
|
|
137
|
+
/**
|
|
138
|
+
* Saturday
|
|
139
|
+
*/
|
|
140
|
+
SATURDAY = "SAT"
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* The day of the month on which the scheduled audit takes place.
|
|
144
|
+
*/
|
|
145
|
+
export declare class DayOfMonth {
|
|
146
|
+
readonly day: string;
|
|
147
|
+
/**
|
|
148
|
+
* The last day of the month
|
|
149
|
+
*/
|
|
150
|
+
static readonly LAST_DAY: DayOfMonth;
|
|
151
|
+
/**
|
|
152
|
+
* Custom day of the month
|
|
153
|
+
* @param day the day of the month
|
|
154
|
+
*/
|
|
155
|
+
static of(day: number): DayOfMonth;
|
|
156
|
+
/**
|
|
157
|
+
*
|
|
158
|
+
* @param day The day of the month
|
|
159
|
+
*/
|
|
160
|
+
private constructor();
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* The frequency at which the scheduled audit takes place.
|
|
164
|
+
*/
|
|
165
|
+
export declare enum Frequency {
|
|
166
|
+
/**
|
|
167
|
+
* Daily
|
|
168
|
+
*/
|
|
169
|
+
DAILY = "DAILY",
|
|
170
|
+
/**
|
|
171
|
+
* Weekly
|
|
172
|
+
*/
|
|
173
|
+
WEEKLY = "WEEKLY",
|
|
174
|
+
/**
|
|
175
|
+
* Bi-weekly
|
|
176
|
+
*/
|
|
177
|
+
BI_WEEKLY = "BIWEEKLY",
|
|
178
|
+
/**
|
|
179
|
+
* Monthly
|
|
180
|
+
*/
|
|
181
|
+
MONTHLY = "MONTHLY"
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Properties for defining AWS IoT Scheduled Audit
|
|
185
|
+
*/
|
|
186
|
+
export interface ScheduledAuditProps {
|
|
187
|
+
/**
|
|
188
|
+
* Which checks are performed during the scheduled audit.
|
|
189
|
+
*
|
|
190
|
+
* Checks must be enabled for your account.
|
|
191
|
+
*/
|
|
192
|
+
readonly auditChecks: AuditCheck[];
|
|
193
|
+
/**
|
|
194
|
+
* Account audit configuration.
|
|
195
|
+
*
|
|
196
|
+
* The audit checks specified in `auditChecks` must be enabled in this configuration.
|
|
197
|
+
*/
|
|
198
|
+
readonly accountAuditConfiguration: IAccountAuditConfiguration;
|
|
199
|
+
/**
|
|
200
|
+
* The day of the week on which the scheduled audit is run (if the frequency is "WEEKLY" or "BIWEEKLY").
|
|
201
|
+
*
|
|
202
|
+
* @default - required if frequency is "WEEKLY" or "BIWEEKLY", not allowed otherwise
|
|
203
|
+
*/
|
|
204
|
+
readonly dayOfWeek?: DayOfWeek;
|
|
205
|
+
/**
|
|
206
|
+
* The day of the month on which the scheduled audit is run (if the frequency is "MONTHLY").
|
|
207
|
+
*
|
|
208
|
+
* If days 29-31 are specified, and the month does not have that many days, the audit takes place on the "LAST" day of the month.
|
|
209
|
+
*
|
|
210
|
+
* @default - required if frequency is "MONTHLY", not allowed otherwise
|
|
211
|
+
*/
|
|
212
|
+
readonly dayOfMonth?: DayOfMonth;
|
|
213
|
+
/**
|
|
214
|
+
* How often the scheduled audit occurs.
|
|
215
|
+
*/
|
|
216
|
+
readonly frequency: Frequency;
|
|
217
|
+
/**
|
|
218
|
+
* The name of the scheduled audit.
|
|
219
|
+
*
|
|
220
|
+
* @default - auto generated name
|
|
221
|
+
*/
|
|
222
|
+
readonly scheduledAuditName?: string;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Defines AWS IoT Scheduled Audit
|
|
226
|
+
*/
|
|
227
|
+
export declare class ScheduledAudit extends Resource implements IScheduledAudit {
|
|
228
|
+
/**
|
|
229
|
+
* Import an existing AWS IoT Scheduled Audit from its ARN.
|
|
230
|
+
*
|
|
231
|
+
* @param scope The parent creating construct (usually `this`)
|
|
232
|
+
* @param id The construct's name
|
|
233
|
+
* @param scheduledAuditArn The ARN of the scheduled audit
|
|
234
|
+
*/
|
|
235
|
+
static fromScheduledAuditArn(scope: Construct, id: string, scheduledAuditArn: string): IScheduledAudit;
|
|
236
|
+
/**
|
|
237
|
+
* Import an existing AWS IoT Scheduled Audit from its attributes.
|
|
238
|
+
*
|
|
239
|
+
* @param scope The parent creating construct (usually `this`)
|
|
240
|
+
* @param id The construct's name
|
|
241
|
+
* @param attrs The scheduled audit attributes
|
|
242
|
+
*/
|
|
243
|
+
static fromScheduledAuditAttributes(scope: Construct, id: string, attrs: ScheduledAuditAttributes): IScheduledAudit;
|
|
244
|
+
/**
|
|
245
|
+
* The scheduled audit name
|
|
246
|
+
* @attribute
|
|
247
|
+
*/
|
|
248
|
+
readonly scheduledAuditName: string;
|
|
249
|
+
/**
|
|
250
|
+
* The ARN of the scheduled audit
|
|
251
|
+
* @attribute
|
|
252
|
+
*/
|
|
253
|
+
readonly scheduledAuditArn: string;
|
|
254
|
+
constructor(scope: Construct, id: string, props: ScheduledAuditProps);
|
|
255
|
+
}
|