import * as api from 'aws-cdk-lib/aws-apigateway'; import { propertyInjectable } from 'aws-cdk-lib/core/lib/prop-injectable'; import { InjectionContext, IPropertyInjector, PropertyInjectors } from 'aws-cdk-lib/core'; import { App, Stack } from 'aws-cdk-lib'; class ApiKeyPropsInjector implements IPropertyInjector { readonly constructUniqueId: string; constructor() { this.constructUniqueId = api.ApiKey.PROPERTY_INJECTION_ID; } inject(originalProps: api.ApiKeyProps, context: InjectionContext): api.ApiKeyProps { return { enabled: false, ...originalProps, }; } } class AnotherApiKeyPropsInjector implements IPropertyInjector { readonly constructUniqueId: string; constructor() { this.constructUniqueId = api.ApiKey.PROPERTY_INJECTION_ID; } inject(originalProps: api.ApiKeyProps, context: InjectionContext): api.ApiKeyProps { return { enabled: true, ...originalProps, }; } } const app = new App({}); /// here