cdk-preflight 0.0.73 → 0.0.74
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 +2 -2
- package/docs/rules.md +42 -0
- package/lib/index.js +1 -1
- package/lib/rules.generated.js +467 -1
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -9599,6 +9599,6 @@
|
|
|
9599
9599
|
"symbolId": "src/index:PreflightOptions"
|
|
9600
9600
|
}
|
|
9601
9601
|
},
|
|
9602
|
-
"version": "0.0.
|
|
9603
|
-
"fingerprint": "
|
|
9602
|
+
"version": "0.0.74",
|
|
9603
|
+
"fingerprint": "Azzc+3e8g0s+U2oRpTe+Zh0GL5gugU1wz1fgy+syGII="
|
|
9604
9604
|
}
|
package/docs/rules.md
CHANGED
|
@@ -198,18 +198,60 @@
|
|
|
198
198
|
| `pf-cognito-token-validity-range` | AWS::Cognito::UserPoolClient | Token validity ranges depend on token type and unit | none |
|
|
199
199
|
| `pf-cognito-user-pool-name` | AWS::Cognito::UserPool | User pool names allow only word characters, spaces and +=,.@- | none |
|
|
200
200
|
| `pf-dynamodb-attribute-definitions-usage` | AWS::DynamoDB::Table | Every AttributeDefinitions entry must be used by a key schema | none |
|
|
201
|
+
| `pf-dynamodb-attribute-type` | AWS::DynamoDB::Table | AttributeType must be S, N or B | pending-engine |
|
|
201
202
|
| `pf-dynamodb-billing-throughput` | AWS::DynamoDB::Table | ProvisionedThroughput must match BillingMode (required for PROVISIONED, forbidden for PAY_PER_REQUEST) | none |
|
|
203
|
+
| `pf-dynamodb-contributor-insights-mode` | AWS::DynamoDB::Table | Contributor Insights Mode must be ACCESSED_AND_THROTTLED_KEYS or THROTTLED_KEYS | pending-engine |
|
|
202
204
|
| `pf-dynamodb-duplicate-attribute-definitions` | AWS::DynamoDB::Table | AttributeDefinitions must not define the same attribute twice | none |
|
|
203
205
|
| `pf-dynamodb-duplicate-index-name` | AWS::DynamoDB::Table | Secondary index names must be unique | none |
|
|
206
|
+
| `pf-dynamodb-global-table-attribute-definitions` | AWS::DynamoDB::GlobalTable | GlobalTable AttributeDefinitions must match the key schemas exactly | none |
|
|
207
|
+
| `pf-dynamodb-global-table-gsi-count` | AWS::DynamoDB::GlobalTable | A global table can carry at most 20 global secondary indexes | none |
|
|
208
|
+
| `pf-dynamodb-global-table-gsi-provisioned-write-settings` | AWS::DynamoDB::GlobalTable | Each GSI of a PROVISIONED GlobalTable needs WriteProvisionedThroughputSettings | none |
|
|
209
|
+
| `pf-dynamodb-global-table-key-schema-shape` | AWS::DynamoDB::GlobalTable | GlobalTable KeySchema must be [HASH] or [HASH, RANGE] | none |
|
|
210
|
+
| `pf-dynamodb-global-table-lsi-attribute-definitions` | AWS::DynamoDB::GlobalTable | GlobalTable LSI key attributes must be defined in AttributeDefinitions | none |
|
|
211
|
+
| `pf-dynamodb-global-table-lsi-count` | AWS::DynamoDB::GlobalTable | A global table can carry at most 5 local secondary indexes | none |
|
|
212
|
+
| `pf-dynamodb-global-table-lsi-shape` | AWS::DynamoDB::GlobalTable | A GlobalTable LSI needs a RANGE key and the table's leading hash key | none |
|
|
213
|
+
| `pf-dynamodb-global-table-mrsc-lsi` | AWS::DynamoDB::GlobalTable | MRSC global tables do not support local secondary indexes | none |
|
|
214
|
+
| `pf-dynamodb-global-table-mrsc-region-set` | AWS::DynamoDB::GlobalTable | An MRSC global table cannot span Region sets | none |
|
|
215
|
+
| `pf-dynamodb-global-table-mrsc-replica-count` | AWS::DynamoDB::GlobalTable | An MRSC global table spans exactly three Regions | none |
|
|
216
|
+
| `pf-dynamodb-global-table-mrsc-ttl` | AWS::DynamoDB::GlobalTable | MRSC global tables do not support TTL | none |
|
|
217
|
+
| `pf-dynamodb-global-table-name-length` | AWS::DynamoDB::GlobalTable | GlobalTable TableName must be at least 3 characters | none |
|
|
218
|
+
| `pf-dynamodb-global-table-ondemand-settings-billing` | AWS::DynamoDB::GlobalTable | On-demand throughput settings need BillingMode PAY_PER_REQUEST | none |
|
|
219
|
+
| `pf-dynamodb-global-table-projection-nonkey` | AWS::DynamoDB::GlobalTable | GlobalTable NonKeyAttributes goes with INCLUDE, and only with INCLUDE | none |
|
|
220
|
+
| `pf-dynamodb-global-table-provisioned-write-settings` | AWS::DynamoDB::GlobalTable | A PROVISIONED GlobalTable needs WriteProvisionedThroughputSettings | none |
|
|
221
|
+
| `pf-dynamodb-global-table-read-capacity-exclusive` | AWS::DynamoDB::GlobalTable | A replica sets either ReadCapacityUnits or autoscaling, never both or neither | none |
|
|
222
|
+
| `pf-dynamodb-global-table-read-settings-multi-account` | AWS::DynamoDB::GlobalTable | Table-level read throughput settings are for multi-account global tables only | none |
|
|
223
|
+
| `pf-dynamodb-global-table-replica-gsi-name` | AWS::DynamoDB::GlobalTable | A replica can only override an index the global table declares | none |
|
|
224
|
+
| `pf-dynamodb-global-table-replica-kinesis-region` | AWS::DynamoDB::GlobalTable | A replica's Kinesis destination must be in the replica's Region | none |
|
|
204
225
|
| `pf-dynamodb-global-table-replica-region` | AWS::DynamoDB::GlobalTable | GlobalTable Replicas must include the deployment region | none |
|
|
226
|
+
| `pf-dynamodb-global-table-replica-sse-key-coverage` | AWS::DynamoDB::GlobalTable | Either every replica names a KMS key, or none does | none |
|
|
227
|
+
| `pf-dynamodb-global-table-replica-sse-key-region` | AWS::DynamoDB::GlobalTable | A replica's KMS key must live in the replica's Region | none |
|
|
228
|
+
| `pf-dynamodb-global-table-stream-required` | AWS::DynamoDB::GlobalTable | An MREC global table with more than one replica needs a stream | none |
|
|
229
|
+
| `pf-dynamodb-global-table-witness-region` | AWS::DynamoDB::GlobalTable | A witness lives in a Region that has no replica | none |
|
|
230
|
+
| `pf-dynamodb-global-table-witness-requires-mrsc` | AWS::DynamoDB::GlobalTable | GlobalTableWitnesses only exists for MRSC global tables | none |
|
|
231
|
+
| `pf-dynamodb-global-table-write-provisioned-with-ppr` | AWS::DynamoDB::GlobalTable | WriteProvisionedThroughputSettings cannot be used with PAY_PER_REQUEST | none |
|
|
205
232
|
| `pf-dynamodb-gsi-billing-throughput` | AWS::DynamoDB::Table | GSI ProvisionedThroughput must match the table BillingMode | none |
|
|
233
|
+
| `pf-dynamodb-gsi-count` | AWS::DynamoDB::Table | A table can carry at most 20 global secondary indexes | none |
|
|
206
234
|
| `pf-dynamodb-gsi-projection-nonkey` | AWS::DynamoDB::Table | NonKeyAttributes goes with INCLUDE, and only with INCLUDE | none |
|
|
235
|
+
| `pf-dynamodb-import-csv-delimiter` | AWS::DynamoDB::Table | A CSV import delimiter is a single character from , ; : | tab space | none |
|
|
236
|
+
| `pf-dynamodb-import-format-options` | AWS::DynamoDB::Table | InputFormatOptions only applies to CSV imports | none |
|
|
207
237
|
| `pf-dynamodb-key-schema-shape` | AWS::DynamoDB::Table | KeySchema must be [HASH] or [HASH, RANGE] | none |
|
|
238
|
+
| `pf-dynamodb-kinesis-precision` | AWS::DynamoDB::Table | Kinesis record timestamp precision is MICROSECOND or MILLISECOND | pending-engine |
|
|
208
239
|
| `pf-dynamodb-kinesis-stream-region` | AWS::DynamoDB::Table | A Kinesis streaming destination must be in the table's region | none |
|
|
209
240
|
| `pf-dynamodb-lsi-attribute-definitions` | AWS::DynamoDB::Table | LSI key attributes must be defined in AttributeDefinitions | none |
|
|
241
|
+
| `pf-dynamodb-lsi-count` | AWS::DynamoDB::Table | A table can carry at most 5 local secondary indexes | none |
|
|
210
242
|
| `pf-dynamodb-lsi-shape` | AWS::DynamoDB::Table | An LSI needs a RANGE key and the table's leading hash key | none |
|
|
243
|
+
| `pf-dynamodb-ondemand-throughput-billing` | AWS::DynamoDB::Table | OnDemandThroughput belongs to PAY_PER_REQUEST tables only | none |
|
|
244
|
+
| `pf-dynamodb-pitr-recovery-period` | AWS::DynamoDB::Table | RecoveryPeriodInDays needs point-in-time recovery turned on | none |
|
|
245
|
+
| `pf-dynamodb-projection-nonkey-limit` | AWS::DynamoDB::Table | One index can project at most 20 non-key attributes | none |
|
|
246
|
+
| `pf-dynamodb-projection-nonkey-total` | AWS::DynamoDB::Table | Projected non-key attributes are capped at 100 across all indexes | none |
|
|
247
|
+
| `pf-dynamodb-resource-policy-principal` | AWS::DynamoDB::Table | Every resource policy statement needs a Principal | none |
|
|
248
|
+
| `pf-dynamodb-resource-policy-size` | AWS::DynamoDB::Table | A table resource policy must stay under 20480 bytes | none |
|
|
249
|
+
| `pf-dynamodb-sse-type` | AWS::DynamoDB::Table | SSEType must be KMS, and only when SSE is enabled | none |
|
|
250
|
+
| `pf-dynamodb-table-class` | AWS::DynamoDB::Table | TableClass must be STANDARD or STANDARD_INFREQUENT_ACCESS | pending-engine |
|
|
211
251
|
| `pf-dynamodb-table-name-format` | AWS::DynamoDB::Table<br>AWS::DynamoDB::GlobalTable | Table names allow only letters, numbers, underscore, dot and hyphen (max 255) | none |
|
|
212
252
|
| `pf-dynamodb-table-name-length` | AWS::DynamoDB::Table | TableName must be at least 3 characters | pending-engine |
|
|
253
|
+
| `pf-dynamodb-ttl-attribute-required` | AWS::DynamoDB::Table | Enabling TTL requires an AttributeName | none |
|
|
254
|
+
| `pf-dynamodb-warm-throughput-minimum` | AWS::DynamoDB::Table | WarmThroughput cannot go below the default 12000 read / 4000 write | none |
|
|
213
255
|
| `pf-ec2-client-vpn-auth-type-config` | AWS::EC2::ClientVpnEndpoint | Client VPN AuthenticationOptions.Type must match the provided authentication sub-block | none |
|
|
214
256
|
| `pf-ec2-client-vpn-authorization-rule-exclusive` | AWS::EC2::ClientVpnAuthorizationRule | Client VPN authorization rule cannot set both AccessGroupId and AuthorizeAllGroups | none |
|
|
215
257
|
| `pf-ec2-client-vpn-cidr-size` | AWS::EC2::ClientVpnEndpoint | Client VPN ClientCidrBlock must be between /12 and /22 | none |
|
package/lib/index.js
CHANGED
|
@@ -17,7 +17,7 @@ const rules_generated_1 = require("./rules.generated");
|
|
|
17
17
|
* Preflight.apply(app);
|
|
18
18
|
*/
|
|
19
19
|
class Preflight {
|
|
20
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-preflight.Preflight", version: "0.0.
|
|
20
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "cdk-preflight.Preflight", version: "0.0.74" };
|
|
21
21
|
/**
|
|
22
22
|
* Register the cdk-preflight rules on an App or Stage.
|
|
23
23
|
*/
|