Nested CFn->SDK key-divergence coverage matrix
For every SDK provider that forwards a nested CFn config blob, diffs the blob's nested property names (from the CFn registry schema fixtures) against the SDK client's model member names. A CFn key with no same-spelling SDK member and no explicit mention in the provider source is a WRITE-SIDE SILENT DROP (the #1370 class): the SDK serializer drops unknown keys, so the templated value never reaches AWS.
Summary
- Audited targets: 24
- Nested CFn key paths audited: 1215
- Same spelling in SDK model: 1123
- Explicitly handled in provider: 70
- Allow-listed pass-throughs (does NOT block CI): 22
- Case divergences (blocks CI): 0
- No SDK member (blocks CI): 0
- Write-evidence pass — fresh-object targets audited: 15
- No write evidence (blocks CI): 0
- Shape pass — bare-array pairs clean: 148
- Shape pass — explicitly handled in provider: 40
- Shape pass — allow-listed (does NOT block CI): 7
- Array-vs-wrapper divergences (blocks CI): 0
- Definition-member-missing divergences (blocks CI): 0
- Shape pass — ambiguous (visible, non-blocking): 0
Divergences
None. Every audited nested CFn key either matches an SDK member spelling or is explicitly named by its provider — and on a fresh-object target, its SDK member is also WRITTEN somewhere in the provider.
Allow-listed pass-throughs
| Resource type | CFn nested key / path | Rationale |
|---|---|---|
AWS::ApiGatewayV2::Integration |
ResponseParameters.ResponseParameters.Destination |
CFn models ResponseParameters as { 'Destination member exists anywhere in the SDK model to spell-match or to write. toSdkResponseParameters performs the fold (and toCfnResponseParameters the inverse for readCurrentState); both are pinned by unit tests, because a computed key is exactly what the write pass cannot credit. Same list-to-map shape difference as the AppSync GraphQLApi Tags.Key entry below (issue #609). |
AWS::ApiGatewayV2::Integration |
ResponseParameters.ResponseParameters.Source |
Same list-to-map fold as the Destination sibling: the CFn [{ Destination, Source }] list becomes the SDK's flat { " |
AWS::AppSync::GraphQLApi |
Tags.Key |
AppSync models tags as a flat Record<string, string> (tags), not as CFn's [{Key, Value}] list — the provider folds the list into that map on create (tagMap[tag.Key] = tag.Value) and diffs it via TagResource / UntagResource on update. There is therefore no Key member anywhere in the SDK model to spell-match or to write, which is a SHAPE difference the key and write passes cannot express, not a dropped key. |
AWS::AppSync::GraphQLApi |
Tags.Value |
Same list-to-map fold as Tags.Key: the CFn tag list becomes the SDK tags Record<string, string>, so no Value member exists on the SDK side. |
AWS::CloudFront::Distribution |
DistributionConfig.CNAMEs |
Legacy pre-2012 DistributionConfig member (alias of Aliases); the modern CreateDistribution/UpdateDistribution API has no equivalent member and CDK never synthesizes it. |
AWS::CloudFront::Distribution |
DistributionConfig.CustomOrigin |
Legacy pre-2012 single-origin form (LegacyCustomOrigin definition); superseded by Origins[] and absent from the modern API. CDK never synthesizes it. |
AWS::CloudFront::Distribution |
DistributionConfig.CustomOrigin.DNSName |
Member of the legacy CustomOrigin / S3Origin blocks only (LegacyCustomOrigin / LegacyS3Origin definitions); unreachable from a modern template. |
AWS::CloudFront::Distribution |
DistributionConfig.CustomOrigin.OriginSSLProtocols |
Member of the legacy pre-2012 CustomOrigin block (LegacyCustomOrigin definition), unreachable from a modern template — same family as the CustomOrigin / DNSName entries. Path-scoped so it can never leak onto the MODERN Origins.CustomOriginConfig.OriginSSLProtocols, which carries a verified terminal rename instead (issue #1393). |
AWS::CloudFront::Distribution |
DistributionConfig.S3Origin.DNSName |
Member of the legacy CustomOrigin / S3Origin blocks only (LegacyCustomOrigin / LegacyS3Origin definitions); unreachable from a modern template. |
AWS::CloudFront::Distribution |
Tags.Key |
Written by toSdkTags on the forward path (.map(([Key, Value]) => ({ Key, Value }))), but one wrapper level below the audited chain: the SDK Tags shape is the { Items: Tag[] } wrapper, so the write scope is Tags.Items while the CFn transparent-array chain is Tags.Key. A wrapper-level insertion is neither a case fold nor a segmentRename, so the write pass cannot see it. |
AWS::CloudFront::Distribution |
Tags.Value |
Same wrapper-level insertion as Tags.Key: written by toSdkTags beneath the SDK { Items: Tag[] } wrapper (scope Tags.Items), one level below the CFn chain. |
AWS::CodeBuild::Project |
Environment.HostKernel |
Declared in the CFn registry schema but has NO member anywhere in the installed @aws-sdk/client-codebuild dist-types tree, so there is nothing to map it onto until an SDK bump adds one (issue #1386). Naming it in the provider would be a false claim of support. Remove this entry once the SDK ships the member, at which point the key becomes genuinely mappable. |
AWS::ECS::Service |
ForceNewDeployment.EnableForceNewDeployment |
CFn-only rollout-trigger member with NO per-member SDK counterpart: the ECS SDK models the whole ForceNewDeployment block as the single top-level boolean forceNewDeployment on UpdateService. ECSProvider.resolveForceNewDeployment translates {EnableForceNewDeployment: true} OR a ForceNewDeploymentNonce change into forceNewDeployment: true (issue #609) — a shape collapse neither the key pass (no same-spelled member exists) nor the write pass (the write is a different, top-level member) can express. |
AWS::ECS::Service |
ForceNewDeployment.ForceNewDeploymentNonce |
Same single-boolean collapse as ForceNewDeployment.EnableForceNewDeployment: the nonce has no SDK member of its own — a nonce CHANGE is what resolveForceNewDeployment turns into forceNewDeployment: true (issue #609). |
AWS::Lambda::EventSourceMapping |
Tags.Key |
Same list-to-map fold as the AppSync entries: Lambda models an event source mapping's tags as a flat Record<string, string> (Tags), not as CFn's [{Key, Value}] list, and the provider folds the list into that map on create (Object.fromEntries(cfnTags.map((t) => [t.Key, t.Value]))). No Key member exists anywhere in the SDK model to spell-match. READ THE VERDICT WITH CARE: the key pass reports this as case-divergence ("SDK has KEY") rather than no-sdk-member, because the member index also carries enum const-object keys and @aws-sdk/client-lambda's KafkaSchemaValidationAttribute declares KEY / VALUE — a Kafka schema-validation attribute with nothing to do with tagging. A case fold would NOT fix this key; there is no member to fold onto. |
AWS::Lambda::EventSourceMapping |
Tags.Value |
Same list-to-map fold as Tags.Key, and the same spurious enum near-miss — VALUE is the other KafkaSchemaValidationAttribute member, not a tag member the provider could write. |
AWS::S3::Bucket |
CorsConfiguration.CorsRules |
Delivered by applyCorsConfiguration, which reads the CFn key via typed property access (corsConfig.CorsRules.map(...)) and writes the SDK spelling CORSRules — the literal walk deliberately counts neither a property ACCESS nor a type-literal member, and the only literal mention of the CFn spelling is readCors, excluded as a reverse map by the #1520 widening. Key pass only; the members BENEATH it need no entry — the per-level case fold resolves CorsConfiguration.CorsRules onto the written CORSConfiguration.CORSRules scope, so they stay write-audited (issue #1520). |
AWS::S3::Bucket |
LifecycleConfiguration.Rules.TagFilters |
Forwarded verbatim into Filter{,.And}.Tags by applyLifecycleConfiguration through the destructured-lifecycleRuleScope shape the hand-off taint walk deliberately does not cross — same class as the LifecycleConfiguration.Rules.TagFilters.Key / .Value write-pass entries, here for the ARRAY itself on the key pass (issue #1393). The per-item config families (Analytics / Metrics / IntelligentTiering) resolve via declared terminal renames and need no entry. |
AWS::S3::Bucket |
LifecycleConfiguration.Rules.TagFilters.Key |
Forwarded verbatim into Filter{,.And}.Tags by applyLifecycleConfiguration, but through a chain the hand-off taint walk deliberately does not cross: the array reaches the write as a DESTRUCTURED member of the lifecycleRuleScope helper's returned literal (module-level since issue #1755, in-method gatherScope before it — the shape is unchanged), and member-level taint through a returned literal is a materially bigger analysis (issue #1540; same wrapper-level class as the CloudFront Tags.Key / Tags.Value entries). The equivalent per-item-config forwards (Analytics / Metrics / IntelligentTiering) ARE wildcard-credited via the for-of taint hop. |
AWS::S3::Bucket |
LifecycleConfiguration.Rules.TagFilters.Value |
Same destructured-lifecycleRuleScope forward as the sibling LifecycleConfiguration.Rules.TagFilters.Key entry (issue #1540). |
AWS::S3::Bucket |
LifecycleConfiguration.TransitionDefaultMinimumObjectSize |
Written by applyLifecycleConfiguration DIRECTLY on the PutBucketLifecycleConfigurationRequest (the SDK hoists it out of LifecycleConfiguration, where CFn nests it), so the audited chain can never resolve: a terminal rename redirects WITHIN the config object and cannot express a request-level hoist. Delivery is proven by the s3-replication-and-filter integ read-back (issue #1495) and the write is pinned by name in the #1495 write-evidence unit test (issues #1520 / #1540). |
AWS::S3::Bucket |
NotificationConfiguration.EventBridgeConfiguration.EventBridgeEnabled |
Presence-encoded: the SDK EventBridgeConfiguration is an EMPTY struct, so the CFn boolean has no member to map onto — applyNotificationConfiguration writes EventBridgeConfiguration: {} when the COERCED boolean is true and omits the block when it is false, REFUSING any value coerceCfnBoolean cannot read (issue #1759). There is no write the terminal-rename mechanism could redirect to (issue #1393). |
AWS::CloudFront::Distribution |
S3Origin |
Legacy pre-2012 single-origin form (LegacyS3Origin definition), sibling of CustomOrigin; superseded by Origins[]. Invisible to the KEY pass because the StreamingDistribution API still has a same-spelled S3Origin member — the definition pass (issue #1378) is what catches it. |
AWS::S3::Bucket |
TableName |
Member of the JournalTableConfiguration / InventoryTableConfiguration definitions, reachable only from the MetadataConfiguration / MetadataTableConfiguration top-levels the provider declares as silent-drop (Cloud-Control-routed), so no SDK forwarding path exists to drop it (issue #1430). |
AWS::S3::Bucket |
TableArn |
Member of the S3TablesDestination / JournalTableConfiguration / InventoryTableConfiguration definitions, reachable only from the MetadataConfiguration / MetadataTableConfiguration top-levels the provider declares as silent-drop (Cloud-Control-routed), so no SDK forwarding path exists to drop it (issue #1430). |
AWS::S3::Bucket |
TableArn |
Member of the S3TablesDestination / JournalTableConfiguration / InventoryTableConfiguration definitions, reachable only from the MetadataConfiguration / MetadataTableConfiguration top-levels the provider declares as silent-drop (Cloud-Control-routed), so no SDK forwarding path exists to drop it (issue #1430). |
AWS::S3::Bucket |
TableNamespace |
Member of the S3TablesDestination definition, reachable only from the MetadataTableConfiguration top-level the provider declares as silent-drop (Cloud-Control-routed), so no SDK forwarding path exists to drop it (issue #1430). |
AWS::S3::Bucket |
TableName |
Member of the JournalTableConfiguration / InventoryTableConfiguration definitions, reachable only from the MetadataConfiguration / MetadataTableConfiguration top-levels the provider declares as silent-drop (Cloud-Control-routed), so no SDK forwarding path exists to drop it (issue #1430). |
AWS::S3::Bucket |
TableArn |
Member of the S3TablesDestination / JournalTableConfiguration / InventoryTableConfiguration definitions, reachable only from the MetadataConfiguration / MetadataTableConfiguration top-levels the provider declares as silent-drop (Cloud-Control-routed), so no SDK forwarding path exists to drop it (issue #1430). |
Per-provider handled keys
Keys with no same-spelling SDK member that the provider explicitly names (conversion maps / special-case handling). Listed so a rename in the provider that orphans one of these is visible in the diff.
| Resource type | CFn nested key path |
|---|---|
AWS::CloudFront::Distribution |
DistributionConfig.IPV6Enabled |
AWS::CloudFront::Distribution |
DistributionConfig.Origins.CustomOriginConfig.OriginSSLProtocols |
AWS::CloudFront::Distribution |
DistributionConfig.Origins.OriginCustomHeaders |
AWS::CloudFront::Distribution |
DistributionConfig.ViewerCertificate.AcmCertificateArn |
AWS::CloudFront::Distribution |
DistributionConfig.ViewerCertificate.IamCertificateId |
AWS::CloudFront::Distribution |
DistributionConfig.ViewerCertificate.SslSupportMethod |
AWS::CloudWatch::AnomalyDetector |
Configuration.MetricTimeZone |
AWS::CodeBuild::Project |
SecondarySources.BuildSpec |
AWS::CodeBuild::Project |
Source.BuildSpec |
AWS::ECS::TaskDefinition |
ProxyConfiguration.ProxyConfigurationProperties |
AWS::ECS::TaskDefinition |
Volumes.EFSVolumeConfiguration |
AWS::ECS::TaskDefinition |
Volumes.EFSVolumeConfiguration.AuthorizationConfig.IAM |
AWS::ECS::TaskDefinition |
Volumes.EFSVolumeConfiguration.FilesystemId |
AWS::ECS::TaskDefinition |
Volumes.FSxWindowsFileServerVolumeConfiguration |
AWS::ECS::TaskDefinition |
Volumes.S3FilesVolumeConfiguration |
AWS::Events::Rule |
Targets.EcsParameters.CapacityProviderStrategy.Base |
AWS::Events::Rule |
Targets.EcsParameters.CapacityProviderStrategy.CapacityProvider |
AWS::Events::Rule |
Targets.EcsParameters.CapacityProviderStrategy.Weight |
AWS::Events::Rule |
Targets.EcsParameters.NetworkConfiguration.AwsVpcConfiguration |
AWS::Events::Rule |
Targets.EcsParameters.PlacementConstraints.Expression |
AWS::Events::Rule |
Targets.EcsParameters.PlacementStrategies |
AWS::Events::Rule |
Targets.EcsParameters.PlacementStrategies.Field |
AWS::Events::Rule |
Targets.EcsParameters.TagList |
AWS::Glue::Crawler |
Targets.DynamoDBTargets.ScanRate |
AWS::Glue::SecurityConfiguration |
EncryptionConfiguration.S3Encryptions |
AWS::Glue::Table |
OpenTableFormatInput.IcebergInput.IcebergTableInput |
AWS::Lambda::EventSourceMapping |
SelfManagedEventSource.Endpoints.KafkaBootstrapServers |
AWS::S3::Bucket |
AccelerateConfiguration.AccelerationStatus |
AWS::S3::Bucket |
AnalyticsConfigurations.TagFilters |
AWS::S3::Bucket |
BucketEncryption.ServerSideEncryptionConfiguration.ServerSideEncryptionByDefault |
AWS::S3::Bucket |
CorsConfiguration.CorsRules.ExposedHeaders |
AWS::S3::Bucket |
CorsConfiguration.CorsRules.MaxAge |
AWS::S3::Bucket |
IntelligentTieringConfigurations.TagFilters |
AWS::S3::Bucket |
InventoryConfigurations.ScheduleFrequency |
AWS::S3::Bucket |
LifecycleConfiguration.Rules.ExpirationDate |
AWS::S3::Bucket |
LifecycleConfiguration.Rules.ExpirationInDays |
AWS::S3::Bucket |
LifecycleConfiguration.Rules.NoncurrentVersionExpirationInDays |
AWS::S3::Bucket |
LifecycleConfiguration.Rules.NoncurrentVersionTransition |
AWS::S3::Bucket |
LifecycleConfiguration.Rules.NoncurrentVersionTransition.TransitionInDays |
AWS::S3::Bucket |
LifecycleConfiguration.Rules.NoncurrentVersionTransitions.TransitionInDays |
AWS::S3::Bucket |
LifecycleConfiguration.Rules.Transition |
AWS::S3::Bucket |
LifecycleConfiguration.Rules.Transition.TransitionDate |
AWS::S3::Bucket |
LifecycleConfiguration.Rules.Transition.TransitionInDays |
AWS::S3::Bucket |
LifecycleConfiguration.Rules.Transitions.TransitionDate |
AWS::S3::Bucket |
LifecycleConfiguration.Rules.Transitions.TransitionInDays |
AWS::S3::Bucket |
LoggingConfiguration.DestinationBucketName |
AWS::S3::Bucket |
LoggingConfiguration.LogFilePrefix |
AWS::S3::Bucket |
MetricsConfigurations.TagFilters |
AWS::S3::Bucket |
NotificationConfiguration.LambdaConfigurations |
AWS::S3::Bucket |
NotificationConfiguration.LambdaConfigurations.Event |
AWS::S3::Bucket |
NotificationConfiguration.LambdaConfigurations.Filter.S3Key |
AWS::S3::Bucket |
NotificationConfiguration.LambdaConfigurations.Function |
AWS::S3::Bucket |
NotificationConfiguration.QueueConfigurations.Event |
AWS::S3::Bucket |
NotificationConfiguration.QueueConfigurations.Filter.S3Key |
AWS::S3::Bucket |
NotificationConfiguration.QueueConfigurations.Queue |
AWS::S3::Bucket |
NotificationConfiguration.TopicConfigurations.Event |
AWS::S3::Bucket |
NotificationConfiguration.TopicConfigurations.Filter.S3Key |
AWS::S3::Bucket |
NotificationConfiguration.TopicConfigurations.Topic |
AWS::S3::Bucket |
ReplicationConfiguration.Rules.Filter.And.TagFilters |
AWS::S3::Bucket |
ReplicationConfiguration.Rules.Filter.TagFilter |
AWS::S3::Bucket |
WebsiteConfiguration.RoutingRules.RedirectRule |
AWS::S3::Bucket |
WebsiteConfiguration.RoutingRules.RoutingRuleCondition |
AWS::Scheduler::Schedule |
Target.EcsParameters.CapacityProviderStrategy.Base |
AWS::Scheduler::Schedule |
Target.EcsParameters.CapacityProviderStrategy.CapacityProvider |
AWS::Scheduler::Schedule |
Target.EcsParameters.CapacityProviderStrategy.Weight |
AWS::Scheduler::Schedule |
Target.EcsParameters.NetworkConfiguration.AwsvpcConfiguration |
AWS::Scheduler::Schedule |
Target.EcsParameters.PlacementConstraints.Expression |
AWS::Scheduler::Schedule |
Target.EcsParameters.PlacementConstraints.Type |
AWS::Scheduler::Schedule |
Target.EcsParameters.PlacementStrategy.Field |
AWS::Scheduler::Schedule |
Target.EcsParameters.PlacementStrategy.Type |
Shape pass — provider-handled re-shapings
CFn members whose SHAPE diverges from the same-spelled SDK member (bare array vs {Quantity, Items} wrapper, or missing from the same-named SDK interface) that the provider explicitly names. A provider rename that orphans one of these is visible in the diff.
| Resource type | CFn definition | Member | Pass | SDK detail |
|---|---|---|---|---|
AWS::ApiGatewayV2::Integration |
ResponseParameterMap |
ResponseParameters |
wrapper | — |
AWS::AppSync::DataSource |
LambdaConfig |
LambdaFunctionArn |
definition | SDK interface LambdaConfig has no lambdaFunctionArn member |
AWS::AppSync::GraphQLApi |
#top |
Tags |
wrapper | — |
AWS::CloudFront::Distribution |
#top |
Tags |
wrapper | — |
AWS::CloudFront::Distribution |
CacheBehavior |
AllowedMethods |
wrapper | SDK wraps it as AllowedMethods ({ Quantity, Items }) |
AWS::CloudFront::Distribution |
CacheBehavior |
CachedMethods |
wrapper | SDK wraps it as CachedMethods ({ Quantity, Items }) |
AWS::CloudFront::Distribution |
CacheBehavior |
CachedMethods |
definition | SDK interface CacheBehavior has no CachedMethods member |
AWS::CloudFront::Distribution |
CacheBehavior |
FunctionAssociations |
wrapper | SDK wraps it as FunctionAssociations ({ Quantity, Items }) |
AWS::CloudFront::Distribution |
CacheBehavior |
LambdaFunctionAssociations |
wrapper | SDK wraps it as LambdaFunctionAssociations ({ Quantity, Items }) |
AWS::CloudFront::Distribution |
CacheBehavior |
TrustedKeyGroups |
wrapper | SDK wraps it as TrustedKeyGroups ({ Quantity, Items }) |
AWS::CloudFront::Distribution |
CacheBehavior |
TrustedSigners |
wrapper | SDK wraps it as TrustedSigners ({ Quantity, Items }) |
AWS::CloudFront::Distribution |
Cookies |
WhitelistedNames |
wrapper | SDK wraps it as CookieNames ({ Quantity, Items }) |
AWS::CloudFront::Distribution |
DefaultCacheBehavior |
CachedMethods |
definition | SDK interface DefaultCacheBehavior has no CachedMethods member |
AWS::CloudFront::Distribution |
DistributionConfig |
Aliases |
wrapper | SDK wraps it as Aliases ({ Quantity, Items }) |
AWS::CloudFront::Distribution |
DistributionConfig |
CacheBehaviors |
wrapper | SDK wraps it as CacheBehaviors ({ Quantity, Items }) |
AWS::CloudFront::Distribution |
DistributionConfig |
CustomErrorResponses |
wrapper | SDK wraps it as CustomErrorResponses ({ Quantity, Items }) |
AWS::CloudFront::Distribution |
DistributionConfig |
Origins |
wrapper | SDK wraps it as Origins ({ Quantity, Items }) |
AWS::CloudFront::Distribution |
ForwardedValues |
Headers |
wrapper | SDK wraps it as Headers ({ Quantity, Items }) |
AWS::CloudFront::Distribution |
ForwardedValues |
QueryStringCacheKeys |
wrapper | SDK wraps it as QueryStringCacheKeys ({ Quantity, Items }) |
AWS::CloudFront::Distribution |
GeoRestriction |
Locations |
definition | SDK interface GeoRestriction has no Locations member |
AWS::ECS::Service |
DeploymentLifecycleHook |
HookDetails |
wrapper | — |
AWS::Events::Rule |
#top |
EventPattern |
wrapper | — |
AWS::Events::Rule |
PlacementStrategy |
Type |
definition | SDK interface PlacementStrategy has no Type member |
AWS::Events::Rule |
PlacementConstraint |
Type |
definition | SDK interface PlacementConstraint has no Type member |
AWS::Glue::Crawler |
DynamoDBTarget |
ScanAll |
definition | SDK interface DynamoDBTarget has no ScanAll member |
AWS::Lambda::EventSourceMapping |
#top |
Tags |
wrapper | — |
AWS::S3::Bucket |
ReplicationRule |
Id |
definition | SDK interface ReplicationRule has no Id member |
AWS::S3::Bucket |
S3KeyFilter |
Rules |
definition | SDK interface S3KeyFilter has no Rules member |
AWS::S3::Bucket |
AnalyticsConfiguration |
Prefix |
definition | SDK interface AnalyticsConfiguration has no Prefix member |
AWS::S3::Bucket |
Destination |
BucketArn |
definition | SDK interface Destination has no BucketArn member |
AWS::S3::Bucket |
Destination |
Format |
definition | SDK interface Destination has no Format member |
AWS::S3::Bucket |
Destination |
BucketAccountId |
definition | SDK interface Destination has no BucketAccountId member |
AWS::S3::Bucket |
Destination |
Prefix |
definition | SDK interface Destination has no Prefix member |
AWS::S3::Bucket |
IntelligentTieringConfiguration |
Prefix |
definition | SDK interface IntelligentTieringConfiguration has no Prefix member |
AWS::S3::Bucket |
MetricsConfiguration |
AccessPointArn |
definition | SDK interface MetricsConfiguration has no AccessPointArn member |
AWS::S3::Bucket |
MetricsConfiguration |
Prefix |
definition | SDK interface MetricsConfiguration has no Prefix member |
AWS::S3::Bucket |
MetadataConfiguration |
Destination |
definition | SDK interface MetadataConfiguration has no Destination member |
AWS::S3::Bucket |
BucketEncryption |
ServerSideEncryptionConfiguration |
wrapper | — |
AWS::S3::Bucket |
InventoryConfiguration |
Enabled |
definition | SDK interface InventoryConfiguration has no Enabled member |
AWS::S3::Bucket |
InventoryConfiguration |
Prefix |
definition | SDK interface InventoryConfiguration has no Prefix member |
Audited targets
| Resource type | Provider | SDK client | Key style | Fresh-object | Nested key paths | Unmatched definitions |
|---|---|---|---|---|---|---|
AWS::ApiGatewayV2::Api |
apigatewayv2-provider.ts |
@aws-sdk/client-apigatewayv2 |
exact | yes | 6 | 1 |
AWS::ApiGatewayV2::Authorizer |
apigatewayv2-provider.ts |
@aws-sdk/client-apigatewayv2 |
exact | yes | 2 | 0 |
AWS::ApiGatewayV2::Integration |
apigatewayv2-provider.ts |
@aws-sdk/client-apigatewayv2 |
exact | yes | 4 | 3 |
AWS::ApiGatewayV2::Route |
apigatewayv2-provider.ts |
@aws-sdk/client-apigatewayv2 |
exact | yes | 1 | 0 |
AWS::ApiGatewayV2::Stage |
apigatewayv2-provider.ts |
@aws-sdk/client-apigatewayv2 |
exact | yes | 7 | 0 |
AWS::AppSync::DataSource |
appsync-provider.ts |
@aws-sdk/client-appsync |
lower-first | yes | 27 | 6 |
AWS::AppSync::GraphQLApi |
appsync-provider.ts |
@aws-sdk/client-appsync |
lower-first | yes | 33 | 1 |
AWS::AppSync::Resolver |
appsync-provider.ts |
@aws-sdk/client-appsync |
lower-first | yes | 9 | 0 |
AWS::CloudFront::Distribution |
cloudfront-distribution-provider.ts |
@aws-sdk/client-cloudfront |
exact | yes | 173 | 4 |
AWS::CloudWatch::AnomalyDetector |
cloudwatch-anomaly-detector-provider.ts |
@aws-sdk/client-cloudwatch |
exact | yes | 31 | 1 |
AWS::CodeBuild::Project |
codebuild-provider.ts |
@aws-sdk/client-codebuild |
lower-first | yes | 98 | 4 |
AWS::ECS::Service |
ecs-provider.ts |
@aws-sdk/client-ecs |
lower-first | yes | 114 | 4 |
AWS::ECS::TaskDefinition |
ecs-provider.ts |
@aws-sdk/client-ecs |
lower-first | yes | 142 | 3 |
AWS::Events::Rule |
eventbridge-rule-provider.ts |
@aws-sdk/client-eventbridge |
exact | no | 76 | 0 |
AWS::Glue::Connection |
glue-provider.ts |
@aws-sdk/client-glue |
exact | no | 37 | 0 |
AWS::Glue::Crawler |
glue-provider.ts |
@aws-sdk/client-glue |
exact | no | 46 | 1 |
AWS::Glue::Database |
glue-provider.ts |
@aws-sdk/client-glue |
exact | yes | 15 | 1 |
AWS::Glue::Job |
glue-provider.ts |
@aws-sdk/client-glue |
exact | no | 7 | 2 |
AWS::Glue::SecurityConfiguration |
glue-provider.ts |
@aws-sdk/client-glue |
exact | no | 9 | 0 |
AWS::Glue::Table |
glue-provider.ts |
@aws-sdk/client-glue |
exact | no | 88 | 2 |
AWS::Glue::Trigger |
glue-provider.ts |
@aws-sdk/client-glue |
exact | no | 16 | 0 |
AWS::Lambda::EventSourceMapping |
lambda-eventsource-provider.ts |
@aws-sdk/client-lambda |
exact | no | 37 | 6 |
AWS::S3::Bucket |
s3-bucket-provider.ts |
@aws-sdk/client-s3 |
exact | yes | 190 | 15 |
AWS::Scheduler::Schedule |
scheduler-schedule-provider.ts |
@aws-sdk/client-scheduler |
exact | no | 47 | 0 |