cdk-preflight 0.0.69 → 0.0.71
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 +138 -0
- package/lib/index.js +1 -1
- package/lib/rules.generated.js +3399 -1869
- 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.71",
|
|
9603
|
+
"fingerprint": "NtYxfgVNgro4qQEC5/ar8FnlHgRD2iW7Z6WivwG0j8g="
|
|
9604
9604
|
}
|
package/docs/rules.md
CHANGED
|
@@ -256,16 +256,72 @@
|
|
|
256
256
|
| `pf-ecr-replication-destination` | AWS::ECR::ReplicationConfiguration | A replication destination must be another registry: not the deploy account in the deploy region, and not another partition | none |
|
|
257
257
|
| `pf-ecr-repository-creation-template-applied-for` | AWS::ECR::RepositoryCreationTemplate | AppliedFor accepts REPLICATION, PULL_THROUGH_CACHE and CREATE_ON_PUSH only | none |
|
|
258
258
|
| `pf-ecr-signing-profile-region` | AWS::ECR::SigningConfiguration | A signing profile ARN must be in the same region as the registry | none |
|
|
259
|
+
| `pf-ecs-awsfirelens-without-router` | AWS::ECS::TaskDefinition | The awsfirelens log driver requires a FireLens router container | none |
|
|
260
|
+
| `pf-ecs-awslogs-fargate-missing-stream-prefix` | AWS::ECS::TaskDefinition | awslogs on Fargate requires the awslogs-stream-prefix option | none |
|
|
261
|
+
| `pf-ecs-awslogs-missing-group` | AWS::ECS::TaskDefinition | The awslogs log driver requires the awslogs-group option | none |
|
|
262
|
+
| `pf-ecs-awsvpc-extra-hosts` | AWS::ECS::TaskDefinition | ExtraHosts is not supported with NetworkMode awsvpc | none |
|
|
263
|
+
| `pf-ecs-awsvpc-hostname` | AWS::ECS::TaskDefinition | Hostname is not supported with NetworkMode awsvpc | none |
|
|
264
|
+
| `pf-ecs-cluster-default-strategy-multiple-base` | AWS::ECS::Cluster | Only one default capacity provider may set Base | none |
|
|
265
|
+
| `pf-ecs-cluster-default-strategy-provider-not-listed` | AWS::ECS::Cluster | DefaultCapacityProviderStrategy may only use listed capacity providers | none |
|
|
266
|
+
| `pf-ecs-cluster-execute-command-default-with-log-config` | AWS::ECS::Cluster | A LogConfiguration requires ExecuteCommand Logging OVERRIDE | none |
|
|
267
|
+
| `pf-ecs-cluster-execute-command-override-without-log-config` | AWS::ECS::Cluster | ExecuteCommand Logging OVERRIDE requires a LogConfiguration | none |
|
|
259
268
|
| `pf-ecs-cluster-name` | AWS::ECS::Cluster | ECS cluster names allow only letters, numbers, hyphen and underscore (max 255) | none |
|
|
260
269
|
| `pf-ecs-container-definitions-empty` | AWS::ECS::TaskDefinition | ContainerDefinitions must contain at least one container | pending-engine |
|
|
261
270
|
| `pf-ecs-container-memory-over-task` | AWS::ECS::TaskDefinition | A container Memory must not exceed the task-level Memory | none |
|
|
262
271
|
| `pf-ecs-container-memory-required` | AWS::ECS::TaskDefinition | A container needs Memory or MemoryReservation when the task sets no Memory | none |
|
|
263
272
|
| `pf-ecs-container-memory-reservation` | AWS::ECS::TaskDefinition | MemoryReservation must not exceed Memory | none |
|
|
273
|
+
| `pf-ecs-cp-managed-termination-scale-in-protection` | AWS::ECS::CapacityProvider | ManagedTerminationProtection requires scale-in protection on the Auto Scaling group | none |
|
|
274
|
+
| `pf-ecs-cp-name-reserved-prefix` | AWS::ECS::CapacityProvider | Capacity provider names cannot start with aws, ecs or fargate | none |
|
|
275
|
+
| `pf-ecs-cp-scaling-step-order` | AWS::ECS::CapacityProvider | MinimumScalingStepSize must not exceed MaximumScalingStepSize | none |
|
|
276
|
+
| `pf-ecs-dependson-complete-on-essential` | AWS::ECS::TaskDefinition | DependsOn COMPLETE / SUCCESS cannot target an essential container | none |
|
|
277
|
+
| `pf-ecs-dependson-container-missing` | AWS::ECS::TaskDefinition | DependsOn.ContainerName must name a container in the same task | none |
|
|
278
|
+
| `pf-ecs-dependson-healthy-without-healthcheck` | AWS::ECS::TaskDefinition | DependsOn Condition HEALTHY needs a HealthCheck on the target container | none |
|
|
264
279
|
| `pf-ecs-duplicate-container-names` | AWS::ECS::TaskDefinition | Container names must be unique within a task definition | none |
|
|
280
|
+
| `pf-ecs-efs-access-point-with-root-directory` | AWS::ECS::TaskDefinition | An EFS access point requires RootDirectory to be "/" or omitted | none |
|
|
281
|
+
| `pf-ecs-efs-iam-without-transit-encryption` | AWS::ECS::TaskDefinition | EFS IAM authorization requires TransitEncryption ENABLED | none |
|
|
282
|
+
| `pf-ecs-efs-transit-encryption-port-without-encryption` | AWS::ECS::TaskDefinition | TransitEncryptionPort requires TransitEncryption ENABLED | none |
|
|
283
|
+
| `pf-ecs-environment-files-max` | AWS::ECS::TaskDefinition | A container can load at most 10 environment files | none |
|
|
284
|
+
| `pf-ecs-environment-files-type` | AWS::ECS::TaskDefinition | EnvironmentFiles.Value must be an S3 object ARN | none |
|
|
265
285
|
| `pf-ecs-ephemeral-storage-range` | AWS::ECS::TaskDefinition | EphemeralStorage SizeInGiB must be 21-200 | pending-engine |
|
|
266
286
|
| `pf-ecs-essential-container` | AWS::ECS::TaskDefinition | At least one container must be essential | none |
|
|
287
|
+
| `pf-ecs-fargate-capabilities-add` | AWS::ECS::TaskDefinition | Fargate only allows SYS_PTRACE in LinuxParameters.Capabilities.Add | none |
|
|
288
|
+
| `pf-ecs-fargate-container-cpu-over-task` | AWS::ECS::TaskDefinition | Container Cpu values must not exceed the task-level Cpu | none |
|
|
289
|
+
| `pf-ecs-fargate-devices` | AWS::ECS::TaskDefinition | LinuxParameters.Devices is not supported on Fargate | none |
|
|
290
|
+
| `pf-ecs-fargate-disable-networking` | AWS::ECS::TaskDefinition | DisableNetworking is not supported with NetworkMode awsvpc | none |
|
|
291
|
+
| `pf-ecs-fargate-dns-servers` | AWS::ECS::TaskDefinition | DnsServers is not supported with NetworkMode awsvpc | none |
|
|
292
|
+
| `pf-ecs-fargate-docker-security-options` | AWS::ECS::TaskDefinition | DockerSecurityOptions is not supported on Fargate | none |
|
|
293
|
+
| `pf-ecs-fargate-docker-volume` | AWS::ECS::TaskDefinition | DockerVolumeConfiguration is not supported on Fargate | none |
|
|
294
|
+
| `pf-ecs-fargate-ephemeral-storage-ec2` | AWS::ECS::TaskDefinition | EphemeralStorage is only supported on Fargate | none |
|
|
295
|
+
| `pf-ecs-fargate-execution-role-missing-awslogs` | AWS::ECS::TaskDefinition | awslogs on Fargate requires an ExecutionRoleArn | none |
|
|
296
|
+
| `pf-ecs-fargate-gpu-resource` | AWS::ECS::TaskDefinition | GPU resource requirements are not supported on Fargate | none |
|
|
297
|
+
| `pf-ecs-fargate-host-source-path` | AWS::ECS::TaskDefinition | Volumes[].Host.SourcePath is not supported on Fargate | none |
|
|
298
|
+
| `pf-ecs-fargate-inference-accelerator` | AWS::ECS::TaskDefinition | InferenceAccelerators is retired and always rejected | none |
|
|
299
|
+
| `pf-ecs-fargate-ipc-mode` | AWS::ECS::TaskDefinition | IpcMode is not supported on Fargate | none |
|
|
300
|
+
| `pf-ecs-fargate-links` | AWS::ECS::TaskDefinition | Links is not supported with NetworkMode awsvpc | none |
|
|
301
|
+
| `pf-ecs-fargate-log-driver-unsupported` | AWS::ECS::TaskDefinition | Fargate supports only a subset of log drivers | none |
|
|
302
|
+
| `pf-ecs-fargate-max-swap` | AWS::ECS::TaskDefinition | LinuxParameters.MaxSwap is not supported on Fargate | none |
|
|
267
303
|
| `pf-ecs-fargate-network-mode` | AWS::ECS::TaskDefinition | Fargate task definitions require NetworkMode 'awsvpc' | none |
|
|
304
|
+
| `pf-ecs-fargate-pid-mode-host` | AWS::ECS::TaskDefinition | PidMode host is not supported on Fargate | none |
|
|
305
|
+
| `pf-ecs-fargate-placement-constraints` | AWS::ECS::TaskDefinition | Task placement constraints are not supported on Fargate | none |
|
|
306
|
+
| `pf-ecs-fargate-privileged` | AWS::ECS::TaskDefinition | Privileged is not supported on Fargate | none |
|
|
307
|
+
| `pf-ecs-fargate-shared-memory-size` | AWS::ECS::TaskDefinition | LinuxParameters.SharedMemorySize is not supported on Fargate | none |
|
|
268
308
|
| `pf-ecs-fargate-task-cpu-memory` | AWS::ECS::TaskDefinition | FARGATE compatibility requires task-level Cpu and Memory | none |
|
|
309
|
+
| `pf-ecs-fargate-windows-cpu-under-1vcpu` | AWS::ECS::TaskDefinition | Windows tasks on Fargate need at least 1 vCPU | none |
|
|
310
|
+
| `pf-ecs-healthcheck-interval-range` | AWS::ECS::TaskDefinition | HealthCheck.Interval must be 5-300 seconds | none |
|
|
311
|
+
| `pf-ecs-healthcheck-retries-range` | AWS::ECS::TaskDefinition | HealthCheck.Retries must be 1-10 | none |
|
|
312
|
+
| `pf-ecs-healthcheck-start-period-range` | AWS::ECS::TaskDefinition | HealthCheck.StartPeriod must be 0-300 seconds | none |
|
|
313
|
+
| `pf-ecs-healthcheck-timeout-range` | AWS::ECS::TaskDefinition | HealthCheck.Timeout must be 2-60 seconds | none |
|
|
314
|
+
| `pf-ecs-host-network-host-port-mismatch` | AWS::ECS::TaskDefinition | NetworkMode host requires HostPort to equal ContainerPort | none |
|
|
315
|
+
| `pf-ecs-mountpoint-source-volume-missing` | AWS::ECS::TaskDefinition | MountPoints.SourceVolume must name a volume of the task definition | none |
|
|
316
|
+
| `pf-ecs-port-mapping-duplicate-name` | AWS::ECS::TaskDefinition | PortMappings.Name must be unique within a task definition | none |
|
|
317
|
+
| `pf-ecs-port-range-overlap` | AWS::ECS::TaskDefinition | ContainerPortRange values must not overlap | none |
|
|
318
|
+
| `pf-ecs-port-range-reversed` | AWS::ECS::TaskDefinition | The first port of ContainerPortRange must be below the last | none |
|
|
319
|
+
| `pf-ecs-port-range-with-host-port` | AWS::ECS::TaskDefinition | ContainerPortRange cannot be combined with a single port | none |
|
|
320
|
+
| `pf-ecs-proxy-configuration-awsvpc-required` | AWS::ECS::TaskDefinition | ProxyConfiguration requires NetworkMode awsvpc | none |
|
|
321
|
+
| `pf-ecs-proxy-configuration-container-missing` | AWS::ECS::TaskDefinition | ProxyConfiguration.ContainerName must name a container of the task definition | none |
|
|
322
|
+
| `pf-ecs-proxy-configuration-missing-required-props` | AWS::ECS::TaskDefinition | An APPMESH ProxyConfiguration needs the four port properties | none |
|
|
323
|
+
| `pf-ecs-restart-policy-attempt-period-range` | AWS::ECS::TaskDefinition | RestartPolicy.RestartAttemptPeriod must be 60-1800 seconds | none |
|
|
324
|
+
| `pf-ecs-secrets-without-execution-role` | AWS::ECS::TaskDefinition | Container Secrets require an ExecutionRoleArn | none |
|
|
269
325
|
| `pf-ecs-service-codedeploy-lb` | AWS::ECS::Service | CODE_DEPLOY deployment controller requires a load balancer | none |
|
|
270
326
|
| `pf-ecs-service-daemon-desired-count` | AWS::ECS::Service | DAEMON scheduling strategy does not accept DesiredCount | none |
|
|
271
327
|
| `pf-ecs-service-deployment-percent` | AWS::ECS::Service | DeploymentConfiguration percent bounds (min <= 100, max >= 100) | none |
|
|
@@ -275,7 +331,41 @@
|
|
|
275
331
|
| `pf-ecs-service-name` | AWS::ECS::Service | ECS service names allow only letters, numbers, hyphen and underscore (max 255) | none |
|
|
276
332
|
| `pf-ecs-service-network-config-mode` | AWS::ECS::Service<br>AWS::ECS::TaskDefinition | NetworkConfiguration requires an awsvpc task definition | none |
|
|
277
333
|
| `pf-ecs-service-platform-version-ec2` | AWS::ECS::Service | PlatformVersion is not allowed with the EC2 launch type | none |
|
|
334
|
+
| `pf-ecs-svc-az-rebalancing-with-daemon` | AWS::ECS::Service | AvailabilityZoneRebalancing is not supported for DAEMON services | none |
|
|
335
|
+
| `pf-ecs-svc-binpack-field` | AWS::ECS::Service | A binpack placement strategy accepts only cpu or memory | none |
|
|
336
|
+
| `pf-ecs-svc-capacity-provider-multiple-base` | AWS::ECS::Service | Only one capacity provider in a strategy may set Base | none |
|
|
337
|
+
| `pf-ecs-svc-capacity-provider-zero-weight` | AWS::ECS::Service | A capacity provider strategy needs at least one non-zero Weight | none |
|
|
338
|
+
| `pf-ecs-svc-circuit-breaker-with-code-deploy` | AWS::ECS::Service | DeploymentCircuitBreaker only works with the ECS deployment controller | none |
|
|
339
|
+
| `pf-ecs-svc-classic-lb-with-fargate` | AWS::ECS::Service | Classic Load Balancers are not supported with Fargate | none |
|
|
340
|
+
| `pf-ecs-svc-connect-client-alias-dns-name` | AWS::ECS::Service | A Service Connect ClientAlias.DnsName must be a valid DNS name | none |
|
|
341
|
+
| `pf-ecs-svc-connect-client-aliases-max` | AWS::ECS::Service | A Service Connect service accepts at most one ClientAlias | none |
|
|
342
|
+
| `pf-ecs-svc-connect-port-name-missing` | AWS::ECS::Service | Service Connect PortName must match a named port mapping | none |
|
|
343
|
+
| `pf-ecs-svc-connect-without-namespace` | AWS::ECS::Service | Service Connect needs a Namespace on the service or the cluster | none |
|
|
344
|
+
| `pf-ecs-svc-daemon-max-percent` | AWS::ECS::Service | A DAEMON service requires DeploymentConfiguration.MaximumPercent 100 | none |
|
|
345
|
+
| `pf-ecs-svc-daemon-with-placement-strategies` | AWS::ECS::Service | A DAEMON service does not accept placement strategies | none |
|
|
346
|
+
| `pf-ecs-svc-ebs-iops-unsupported-type` | AWS::ECS::Service | ManagedEBSVolume Iops is only valid for io1, io2 and gp3 | none |
|
|
347
|
+
| `pf-ecs-svc-ebs-name-not-in-taskdef` | AWS::ECS::Service | VolumeConfigurations.Name must match a ConfiguredAtLaunch volume | none |
|
|
348
|
+
| `pf-ecs-svc-ebs-throughput-non-gp3` | AWS::ECS::Service | ManagedEBSVolume Throughput is only valid for gp3 | none |
|
|
349
|
+
| `pf-ecs-svc-ebs-volume-without-size-or-snapshot` | AWS::ECS::Service | A managed EBS volume needs SizeInGiB or SnapshotId | none |
|
|
350
|
+
| `pf-ecs-svc-external-with-load-balancers` | AWS::ECS::Service | An EXTERNAL deployment controller does not accept LoadBalancers | none |
|
|
351
|
+
| `pf-ecs-svc-external-with-taskdef` | AWS::ECS::Service | An EXTERNAL deployment controller does not accept TaskDefinition | none |
|
|
352
|
+
| `pf-ecs-svc-lb-container-name-missing` | AWS::ECS::Service | LoadBalancers.ContainerName must name a container of the task definition | none |
|
|
353
|
+
| `pf-ecs-svc-lb-container-port-missing` | AWS::ECS::Service | LoadBalancers.ContainerPort must match a port mapping of the container | none |
|
|
354
|
+
| `pf-ecs-svc-min-healthy-over-max-percent` | AWS::ECS::Service | MinimumHealthyPercent must stay below MaximumPercent | none |
|
|
355
|
+
| `pf-ecs-svc-placement-constraint-distinct-instance-expression` | AWS::ECS::Service | distinctInstance placement constraints take no Expression | none |
|
|
356
|
+
| `pf-ecs-svc-placement-strategies-max6` | AWS::ECS::Service | A service accepts at most 5 placement strategies | none |
|
|
357
|
+
| `pf-ecs-svc-random-with-field` | AWS::ECS::Service | A random placement strategy takes no Field | none |
|
|
358
|
+
| `pf-ecs-svc-registries-multiple` | AWS::ECS::Service | A service accepts at most one service registry | none |
|
|
359
|
+
| `pf-ecs-svc-registries-port-with-awsvpc` | AWS::ECS::Service | awsvpc services address a registry by Port, not ContainerName/ContainerPort | none |
|
|
360
|
+
| `pf-ecs-svc-role-with-awsvpc` | AWS::ECS::Service | awsvpc services must use the service-linked role, not Role | none |
|
|
361
|
+
| `pf-ecs-svc-role-without-load-balancers` | AWS::ECS::Service | Service Role is only valid together with LoadBalancers | none |
|
|
278
362
|
| `pf-ecs-taskdef-family` | AWS::ECS::TaskDefinition | Task definition Family allows only letters, numbers, hyphen and underscore | none |
|
|
363
|
+
| `pf-ecs-taskset-lb-container-missing` | AWS::ECS::TaskSet | TaskSet LoadBalancers.ContainerName must name a container of the task definition | none |
|
|
364
|
+
| `pf-ecs-taskset-platform-version-ec2` | AWS::ECS::TaskSet | TaskSet PlatformVersion is not allowed with the EC2 launch type | none |
|
|
365
|
+
| `pf-ecs-ulimit-soft-over-hard` | AWS::ECS::TaskDefinition | A Ulimit SoftLimit must not exceed its HardLimit | none |
|
|
366
|
+
| `pf-ecs-volume-not-referenced` | AWS::ECS::TaskDefinition | Every task definition volume must be mounted by a container | none |
|
|
367
|
+
| `pf-ecs-volumesfrom-source-container-missing` | AWS::ECS::TaskDefinition | VolumesFrom.SourceContainer must name a container of the task definition | none |
|
|
368
|
+
| `pf-ecs-windows-arm64` | AWS::ECS::TaskDefinition | CpuArchitecture ARM64 is not available for Windows | none |
|
|
279
369
|
| `pf-efs-availability-zone-region` | AWS::EFS::FileSystem | AvailabilityZoneName must name an Availability Zone of the deploy region | none |
|
|
280
370
|
| `pf-efs-file-system-policy` | AWS::EFS::FileSystem | A file system policy may only name its own file system and must not lock out PutFileSystemPolicy | none |
|
|
281
371
|
| `pf-efs-file-system-reference-region` | AWS::EFS::MountTarget<br>AWS::EFS::AccessPoint | A file system ARN passed as FileSystemId must be in the deploy region | none |
|
|
@@ -615,15 +705,63 @@
|
|
|
615
705
|
| `pf-rds-backup-retention-range` | AWS::RDS::DBInstance | BackupRetentionPeriod must be at most 35 days | none |
|
|
616
706
|
| `pf-rds-backup-window-duration` | AWS::RDS::DBInstance | The backup window must be at least 30 minutes | none |
|
|
617
707
|
| `pf-rds-backup-window-format` | AWS::RDS::DBInstance | PreferredBackupWindow must be hh24:mi-hh24:mi | none |
|
|
708
|
+
| `pf-rds-character-set-engine` | AWS::RDS::DBInstance | CharacterSetName is only accepted by Oracle engines | none |
|
|
709
|
+
| `pf-rds-cluster-allocated-storage-aurora` | AWS::RDS::DBCluster | AllocatedStorage is only for Multi-AZ DB clusters, not Aurora | none |
|
|
710
|
+
| `pf-rds-cluster-az-count` | AWS::RDS::DBCluster | AvailabilityZones accepts at most 3 zones | none |
|
|
711
|
+
| `pf-rds-cluster-instance-class-aurora` | AWS::RDS::DBCluster | DBClusterInstanceClass is only for Multi-AZ DB clusters, not Aurora | none |
|
|
712
|
+
| `pf-rds-cluster-logs-exports-engine` | AWS::RDS::DBCluster | Cluster EnableCloudwatchLogsExports values depend on the Aurora engine | none |
|
|
713
|
+
| `pf-rds-cluster-port-range` | AWS::RDS::DBCluster | DBCluster Port must be between 1150 and 65535 | none |
|
|
714
|
+
| `pf-rds-cluster-publicly-accessible-aurora` | AWS::RDS::DBCluster | PubliclyAccessible is only for Multi-AZ DB clusters, not Aurora | none |
|
|
715
|
+
| `pf-rds-cluster-storage-type` | AWS::RDS::DBCluster | Aurora clusters only accept the aurora storage types | none |
|
|
716
|
+
| `pf-rds-database-insights-advanced` | AWS::RDS::DBCluster | DatabaseInsightsMode: advanced requires Performance Insights with at least 31 days retention | none |
|
|
618
717
|
| `pf-rds-dbname-format` | AWS::RDS::DBInstance | postgres DBName must begin with a letter | none |
|
|
619
718
|
| `pf-rds-description-printable` | AWS::RDS::DBSubnetGroup<br>AWS::RDS::DBParameterGroup | RDS group descriptions must be printable ASCII | none |
|
|
719
|
+
| `pf-rds-engine-mode-serverless-retired` | AWS::RDS::DBCluster | EngineMode: serverless (Aurora Serverless v1) can no longer be created | none |
|
|
720
|
+
| `pf-rds-event-subscription-categories` | AWS::RDS::EventSubscription | EventCategories must exist for the SourceType | none |
|
|
721
|
+
| `pf-rds-event-subscription-source-ids-require-type` | AWS::RDS::EventSubscription | SourceIds requires SourceType | none |
|
|
722
|
+
| `pf-rds-event-subscription-source-type-values` | AWS::RDS::EventSubscription | SourceType must be one of the RDS event source types | none |
|
|
723
|
+
| `pf-rds-global-write-forwarding-requires-global` | AWS::RDS::DBCluster | EnableGlobalWriteForwarding requires GlobalClusterIdentifier | none |
|
|
620
724
|
| `pf-rds-gp3-iops-storage-threshold` | AWS::RDS::DBInstance | gp3 below 400 GiB cannot take custom Iops or StorageThroughput (postgres/mysql) | none |
|
|
725
|
+
| `pf-rds-iam-auth-engine` | AWS::RDS::DBInstance | IAM database authentication is only supported by MySQL, MariaDB and PostgreSQL | none |
|
|
621
726
|
| `pf-rds-io1-iops-ratio` | AWS::RDS::DBInstance | postgres io1 Iops may not exceed 50 per GiB of storage | none |
|
|
622
727
|
| `pf-rds-iops-required` | AWS::RDS::DBInstance | io1 and io2 storage require the Iops property | none |
|
|
728
|
+
| `pf-rds-license-model-engine` | AWS::RDS::DBInstance | LicenseModel must match the engine | none |
|
|
729
|
+
| `pf-rds-limitless-delete-automated-backups` | AWS::RDS::DBCluster | Limitless clusters cannot set DeleteAutomatedBackups: false | none |
|
|
730
|
+
| `pf-rds-logs-exports-engine` | AWS::RDS::DBInstance | EnableCloudwatchLogsExports values depend on the engine | none |
|
|
731
|
+
| `pf-rds-magnetic-storage-deprecated` | AWS::RDS::DBInstance | Magnetic (standard) storage cannot be created any more | none |
|
|
732
|
+
| `pf-rds-manage-master-password-exclusive` | AWS::RDS::DBInstance | ManageMasterUserPassword and MasterUserPassword are mutually exclusive | none |
|
|
733
|
+
| `pf-rds-master-username-length` | AWS::RDS::DBInstance | MasterUsername length limit depends on the engine | none |
|
|
734
|
+
| `pf-rds-master-username-reserved` | AWS::RDS::DBInstance | MasterUsername must not be an engine reserved word | none |
|
|
735
|
+
| `pf-rds-max-allocated-storage` | AWS::RDS::DBInstance | MaxAllocatedStorage must be greater than AllocatedStorage | none |
|
|
736
|
+
| `pf-rds-monitoring-interval-values` | AWS::RDS::DBInstance<br>AWS::RDS::DBCluster | MonitoringInterval must be one of 0, 1, 5, 10, 15, 30, 60 | none |
|
|
737
|
+
| `pf-rds-monitoring-role-required` | AWS::RDS::DBInstance<br>AWS::RDS::DBCluster | MonitoringRoleArn is required when MonitoringInterval is not 0 | none |
|
|
738
|
+
| `pf-rds-multiaz-availability-zone` | AWS::RDS::DBInstance | MultiAZ and AvailabilityZone are mutually exclusive | none |
|
|
739
|
+
| `pf-rds-option-group-engine` | AWS::RDS::DBInstance<br>AWS::RDS::OptionGroup | OptionGroup EngineName must match the engine of the instance that uses it | none |
|
|
740
|
+
| `pf-rds-parameter-group-family-engine` | AWS::RDS::DBInstance<br>AWS::RDS::DBParameterGroup | DBParameterGroup Family must match the engine of the instance that uses it | none |
|
|
623
741
|
| `pf-rds-password-valid` | AWS::RDS::DBInstance<br>AWS::RDS::DBCluster | MasterUserPassword must be at least 8 characters without '/', '@', '\"' or spaces | none |
|
|
742
|
+
| `pf-rds-pi-retention-period` | AWS::RDS::DBInstance | PerformanceInsightsRetentionPeriod must be 7, 731, or a multiple of 31 up to 713 | none |
|
|
743
|
+
| `pf-rds-pi-retention-requires-enable` | AWS::RDS::DBInstance | PerformanceInsightsRetentionPeriod requires EnablePerformanceInsights: true | none |
|
|
624
744
|
| `pf-rds-port-range` | AWS::RDS::DBInstance | The database port must be within 1150-65535 | none |
|
|
745
|
+
| `pf-rds-processor-features-engine` | AWS::RDS::DBInstance | ProcessorFeatures is only supported by Oracle and SQL Server | none |
|
|
746
|
+
| `pf-rds-promotion-tier-cluster-only` | AWS::RDS::DBInstance | PromotionTier is only valid on a cluster member instance | none |
|
|
747
|
+
| `pf-rds-proxy-client-password-auth-engine` | AWS::RDS::DBProxy | ClientPasswordAuthType must match the proxy EngineFamily | none |
|
|
748
|
+
| `pf-rds-proxy-iam-auth-enabled` | AWS::RDS::DBProxy | IAMAuth: ENABLED is only valid for SQL Server proxies | none |
|
|
749
|
+
| `pf-rds-proxy-iam-auth-requires-tls` | AWS::RDS::DBProxy | IAMAuth: REQUIRED needs RequireTLS: true | none |
|
|
750
|
+
| `pf-rds-proxy-idle-client-timeout` | AWS::RDS::DBProxy | IdleClientTimeout must be between 1 and 28800 seconds | none |
|
|
751
|
+
| `pf-rds-proxy-pool-percent` | AWS::RDS::DBProxyTargetGroup | Connection pool percentages and borrow timeout have fixed ranges | none |
|
|
752
|
+
| `pf-rds-proxy-target-group-name` | AWS::RDS::DBProxyTargetGroup | DBProxyTargetGroup TargetGroupName must be "default" | none |
|
|
753
|
+
| `pf-rds-scaling-configuration-serverless-v1-only` | AWS::RDS::DBCluster | ScalingConfiguration only applies to Aurora Serverless v1 clusters | none |
|
|
754
|
+
| `pf-rds-serverless-v2-auto-pause` | AWS::RDS::DBCluster | SecondsUntilAutoPause requires MinCapacity 0 | none |
|
|
625
755
|
| `pf-rds-serverless-v2-capacity` | AWS::RDS::DBCluster | Serverless v2 MinCapacity must not exceed MaxCapacity, and MaxCapacity is at most 256 | none |
|
|
756
|
+
| `pf-rds-serverless-v2-capacity-step` | AWS::RDS::DBCluster | Serverless v2 capacity must be a multiple of 0.5 ACU | none |
|
|
757
|
+
| `pf-rds-shard-group-acu` | AWS::RDS::DBShardGroup | DBShardGroup MaxACU must be at least MinACU | none |
|
|
758
|
+
| `pf-rds-sqlserver-dbname-null` | AWS::RDS::DBInstance | DBName is not accepted by SQL Server engines | none |
|
|
759
|
+
| `pf-rds-sqlserver-reserved-port` | AWS::RDS::DBInstance | SQL Server reserves several ports | none |
|
|
760
|
+
| `pf-rds-storage-throughput-gp3-only` | AWS::RDS::DBInstance | StorageThroughput is only valid with StorageType gp3 | none |
|
|
761
|
+
| `pf-rds-storage-throughput-max` | AWS::RDS::DBInstance | gp3 StorageThroughput is capped at 4000 MiBps | none |
|
|
626
762
|
| `pf-rds-subnet-group-name` | AWS::RDS::DBSubnetGroup | DB subnet group names allow only letters, numbers, spaces, dot, underscore and hyphen | none |
|
|
763
|
+
| `pf-rds-subnet-group-name-reserved` | AWS::RDS::DBSubnetGroup | DBSubnetGroupName: default is reserved | none |
|
|
764
|
+
| `pf-rds-timezone-engine` | AWS::RDS::DBInstance | Timezone is only accepted by Db2 and SQL Server engines | none |
|
|
627
765
|
| `pf-rds-window-overlap` | AWS::RDS::DBInstance | The backup window and the maintenance window must not overlap | none |
|
|
628
766
|
| `pf-route53-alias-cloudfront-zone-id` | AWS::Route53::RecordSet | A CloudFront alias target must use hosted zone Z2FDTNDATAQYW2 | none |
|
|
629
767
|
| `pf-route53-apex-cname` | AWS::Route53::RecordSet<br>AWS::Route53::HostedZone | A CNAME record is not permitted at the zone apex | 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.71" };
|
|
21
21
|
/**
|
|
22
22
|
* Register the cdk-preflight rules on an App or Stage.
|
|
23
23
|
*/
|