konokenj.cdk-api-mcp-server 0.31.0__py3-none-any.whl → 0.57.0__py3-none-any.whl
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.
- cdk_api_mcp_server/__about__.py +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-amplify-alpha/README.md +12 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-agentcore-alpha/README.md +1979 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-bedrock-alpha/README.md +946 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-eks-v2-alpha/README.md +160 -75
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-elasticache-alpha/README.md +421 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-glue-alpha/README.md +39 -9
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-imagebuilder-alpha/README.md +656 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-iot-alpha/README.md +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-lambda-go-alpha/README.md +102 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-lambda-python-alpha/README.md +6 -6
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-msk-alpha/README.md +38 -8
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-s3tables-alpha/README.md +82 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/aws-sagemaker-alpha/README.md +32 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/@aws-cdk/mixins-preview/README.md +182 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/README.md/README.md +367 -17
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/README.md +34 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.api-with-authorizer-and-proxy.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.lambda-api.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.lambda-permission-consolidation.ts +55 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigateway/integ.spec-restapi.ts +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/README.md +224 -60
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api-dualstack.ts +3 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.api.ts +5 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.stage.ts +10 -7
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2/integ.usage-plan.ts +80 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-authorizers/integ.iam.ts +34 -38
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-authorizers/integ.lambda.ts +2 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-authorizers/integ.user-pool.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/README.md +35 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.add-subroute-integration.ts +7 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.http-proxy.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda-connect-disconnect-trigger.ts +2 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda-permission-consolidation.ts +45 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda-proxy.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.lambda.ts +4 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-apigatewayv2-integrations/integ.sqs.ts +58 -71
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-appsync/integ.graphql-lambda-permission.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-appsync/integ.js-resolver.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-autoscaling/README.md +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-autoscaling/integ.asg-lt.ts +7 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/README.md +49 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.ecs-exec-batch-job.ts +148 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-batch/integ.managed-compute-environment-default-instance-class.ts +20 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-certificatemanager/README.md +11 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudformation/integ.core-custom-resources-node-18.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudformation/integ.core-custom-resources-service-timeout.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront/README.md +292 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/README.md +83 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/integ.function-url-origin-ip-address-type.ts +84 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/integ.http-origin.ts +5 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudfront-origins/integ.origin-response-completion-timeout.ts +50 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudtrail/integ.cloudtrail-data-events-only.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/README.md +104 -12
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.alarm-and-dashboard.ts +12 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.anomaly-detection-alarm.ts +44 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.dashboard-with-graphwidget-with-labels-visible.ts +92 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.dashboard-with-metric-id-and-visible.ts +70 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cloudwatch/integ.search-expression.ts +51 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/README.md +143 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-docker-server.ts +44 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-fleet-attribute-based-compute.ts +59 -7
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-fleet-custom-instance-type.ts +130 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-fleet-overflow-behavior.ts +61 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-s3-cache.ts +71 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codebuild/integ.project-windows-image.ts +1 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-codepipeline-actions/integ.pipeline-elastic-beanstalk-deploy.ts +26 -17
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cognito/README.md +13 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-cognito/integ.user-pool-client-explicit-props.ts +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-docdb/README.md +24 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-docdb/integ.cluster-serverless.ts +34 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/README.md +225 -15
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/TABLE_V1_API.md +45 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb-v2.cci.ts +49 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.add-to-resource-policy.ts +97 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.cci.ts +27 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.compound.ts +32 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.contirubtor-insights-for-gsi.ts +6 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.dynamodb.policy.ts +21 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2-global.ts +9 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2-mrsc.ts +31 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-dynamodb/integ.table-v2.compound.ts +43 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/README.md +28 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.client-vpn-endpoint-disconnect-on-session-timeout.ts +65 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-endpoint.lit.ts +6 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ec2/integ.vpc-flow-logs.ts +4 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/README.md +41 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr/integ.tag-mutability-exclusion.ts +30 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/README.md +4 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecr-assets/integ.assets-docker.ts +6 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/README.md +189 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.availability-zone-rebalancing.ts +14 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.blue-green-deployment-strategy.ts +147 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.cluster-windows-server-ami.ts +5 -6
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.ebs-volume-initialization-rate.ts +80 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.enable-execute-command.ts +35 -29
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.exec-command.ts +16 -22
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.lb-awsvpc-nw.ts +26 -16
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.managedinstances-capacity-provider.ts +114 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.managedinstances-no-default-capacity-provider.ts +107 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.placement-strategies.ts +32 -8
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs/integ.pseudo-terminal.ts +18 -8
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/README.md +2 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.alb-fargate-service-public-private-switch.ts +45 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-ecs-patterns/integ.alb-fargate-service-smart-defaults.ts +143 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/README.md +103 -83
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-al2023-nodegroup.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.eks-cluster-removal-policy.ts +31 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-eks/integ.fargate-cluster.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/README.md +55 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.alb-lambda-multi-value-headers.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.alb-target-group-attributes.ts +45 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.alb.oidc.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.nlb-target-group-attributes.ts +45 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2/integ.nlb.security-group.ts +70 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-elasticloadbalancingv2-actions/integ.cognito.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events/README.md +41 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events/integ.api-destination.ts +42 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events/integ.archive-customer-managed-key.ts +23 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events/integ.eventbus.ts +13 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/README.md +93 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/integ.firehose-delivery-stream.ts +51 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.custom-permissions-boundary-aspect.ts +50 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.managed-policy.ts +9 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-iam/integ.policy.ts +9 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesis/README.md +42 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesis/integ.stream-shard-level-monitoring.ts +47 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/README.md +159 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/integ.cloudwatch-logs-processors.ts +45 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/integ.record-format-conversion-schema.ts +154 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/integ.record-format-conversion.ts +178 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-kinesisfirehose/integ.s3-bucket.lit.ts +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/README.md +41 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.binary-payload.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.lambda-policy-with-token-resolution.ts +46 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.logging-config.ts +8 -8
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.multi-tenancy.ts +24 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.params-and-secrets.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.runtime-management.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.runtime.fromasset.ts +19 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.runtime.inlinecode.ts +11 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/README.md +3 -3
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.dependencies-bun-lock.ts +50 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.dependencies-pnpm.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.function-exclude-smithy-models.ts +2 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda-nodejs/integ.nodejs.build.images.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/README.md +69 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.loggroup-transformer.ts +37 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.metricfilter-apply-on-transformed-logs.ts +29 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.save-logs-insights-query-definition.ts +7 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.subscriptionfilter.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.transformer.ts +27 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.ebs.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-opensearchservice/integ.opensearch.min.ts +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/README.md +72 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-cloudwatch-logs-exports.ts +56 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-data-api-to-imported-cluster.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-data-api.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster-lookup.ts +100 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.cluster.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.instance-database-insights.ts +43 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.instance-lookup.ts +77 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-rds/integ.proxy-endpoint.ts +36 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/README.md +68 -31
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.delete-existing-record-set.ts +0 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.private-hosted-zone-from-attributes.ts +41 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.route53.ts +51 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53/integ.zone-delegation-iam-stack.ts +66 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53-targets/integ.cloudfront-alias-target.ts +16 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-route53-targets/integ.elastic-beanstalk-hostedzoneid.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3/integ.bucket.notifications-scoped-permissions.ts +71 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-assets/integ.assets.bundling.docker-opts.ts +4 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/README.md +83 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-big-response.ts +17 -6
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cloudfront.ts +20 -18
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cross-nested-stack-source.ts +64 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cross-stack-source.ts +53 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-cross-stack-ssm-source.ts +97 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-data.ts +99 -59
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-deployed-bucket.ts +10 -4
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-large-file.ts +23 -12
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-loggroup.ts +7 -2
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-security-groups-efs.ts +77 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-security-groups-empty.ts +69 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-security-groups-multiple.ts +89 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-security-groups-single.ts +77 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-signcontent.ts +11 -7
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-substitution-with-destination-key.ts +15 -8
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-substitution-with-role.ts +29 -14
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-substitution.ts +16 -8
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-basic.ts +65 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-config.ts +66 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-custom-subnets.ts +66 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-efs.ts +66 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-security-groups.ts +72 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-vpc-subnet-selection.ts +70 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment.ts +47 -69
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-notifications/integ.bucket-notifications.ts +80 -42
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-secretsmanager/integ.secret.dynamic-reference-key.ts +38 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-signer/integ.signing-profile.ts +5 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-sns/README.md +2 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-sns-subscriptions/integ.sns-sqs-subscription-filter.ts +75 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-sns-subscriptions/integ.sns-sqs.ts +21 -40
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-parallel.ts +82 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.distributed-map-redrive.ts +130 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.map-with-catch.ts +1 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions/integ.sm-jsonpath-with-distributed-map-jsonata.ts +105 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/README.md +75 -5
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.call-aws-service-cross-region-lambda.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.emr-create-cluster-with-ebs.ts +126 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-arm64.ts +27 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-default.ts +25 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-mixed-arch.ts +35 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-nodejs22.ts +27 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.evaluate-expression-x86.ts +27 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-stepfunctions-tasks/integ.invoke-json-path.ts +102 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/README.md +84 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-browser-type.ts +35 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-resources-to-replicate-tags.ts +36 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-retry.ts +32 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary-runtime-validation.ts +43 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-synthetics/integ.canary.ts +2 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cloudformation-include/integ.novalue-nonstring.ts +25 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/core/README.md +2 -1870
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/README.md +59 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.aws-custom-resource.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.custom-resource-config-lambda-node-runtime.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.external-id.ts +80 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/custom-resources/integ.invoke-function-payload.ts +1 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/FEATURE_FLAGS.md +152 -10
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/cx-api/README.md +55 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/interfaces/README.md +33 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/README.md +4 -0
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/integ.newpipeline-reduce-stagerole-scope.ts +4 -1
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/pipelines/integ.pipeline-with-customsynthesizer.ts +105 -0
- {konokenj_cdk_api_mcp_server-0.31.0.dist-info → konokenj_cdk_api_mcp_server-0.57.0.dist-info}/METADATA +2 -2
- {konokenj_cdk_api_mcp_server-0.31.0.dist-info → konokenj_cdk_api_mcp_server-0.57.0.dist-info}/RECORD +240 -151
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-events-targets/integ.kinesis-firehose-stream.ts +0 -33
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.expose-metric-with-dimensions.ts +0 -47
- cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-s3-deployment/integ.bucket-deployment-signcontent.d.ts +0 -1
- {konokenj_cdk_api_mcp_server-0.31.0.dist-info → konokenj_cdk_api_mcp_server-0.57.0.dist-info}/WHEEL +0 -0
- {konokenj_cdk_api_mcp_server-0.31.0.dist-info → konokenj_cdk_api_mcp_server-0.57.0.dist-info}/entry_points.txt +0 -0
- {konokenj_cdk_api_mcp_server-0.31.0.dist-info → konokenj_cdk_api_mcp_server-0.57.0.dist-info}/licenses/LICENSE.txt +0 -0
|
@@ -642,6 +642,15 @@ new CfnOutput(this, 'TheUrl', {
|
|
|
642
642
|
});
|
|
643
643
|
```
|
|
644
644
|
|
|
645
|
+
### Important Function URL Permission Update - Oct 2025
|
|
646
|
+
Starting Oct 2025, Function URL invocation will require two permissions
|
|
647
|
+
- lambda:InvokeFunctionUrl
|
|
648
|
+
- lambda:InvokeFunction (New)
|
|
649
|
+
|
|
650
|
+
CDK has updated `grantInvokeUrl` and `addFunctionUrl` to add both permission above.
|
|
651
|
+
|
|
652
|
+
If your existing CDK stack uses `grantInvokeUrl` or `addFunctionUrl`, your next deployment will automatically add the `lambda:InvokeFunction` permission without requiring any code changes. This ensures your Function URLs continue working seamlessly. No additional actions are needed.
|
|
653
|
+
|
|
645
654
|
### CORS configuration for Function URLs
|
|
646
655
|
|
|
647
656
|
If you want your Function URLs to be invokable from a web page in browser, you
|
|
@@ -1177,7 +1186,7 @@ const version = fn.currentVersion;
|
|
|
1177
1186
|
You can use Application AutoScaling to automatically configure the provisioned concurrency for your functions. AutoScaling can be set to track utilization or be based on a schedule. To configure AutoScaling on a function alias:
|
|
1178
1187
|
|
|
1179
1188
|
```ts
|
|
1180
|
-
import * as
|
|
1189
|
+
import * as appscaling from 'aws-cdk-lib/aws-applicationautoscaling';
|
|
1181
1190
|
|
|
1182
1191
|
declare const fn: lambda.Function;
|
|
1183
1192
|
const alias = fn.addAlias('prod');
|
|
@@ -1192,7 +1201,7 @@ as.scaleOnUtilization({
|
|
|
1192
1201
|
|
|
1193
1202
|
// Configure Scheduled Scaling
|
|
1194
1203
|
as.scaleOnSchedule('ScaleUpInTheMorning', {
|
|
1195
|
-
schedule:
|
|
1204
|
+
schedule: appscaling.Schedule.cron({ hour: '8', minute: '0'}),
|
|
1196
1205
|
minCapacity: 20,
|
|
1197
1206
|
});
|
|
1198
1207
|
```
|
|
@@ -1249,6 +1258,36 @@ const fn = new lambda.Function(this, 'MyFunction', {
|
|
|
1249
1258
|
});
|
|
1250
1259
|
```
|
|
1251
1260
|
|
|
1261
|
+
## Lambda with Tenant Isolation
|
|
1262
|
+
|
|
1263
|
+
Lambda functions can be configured with tenant isolation to ensure that different tenants never share the same execution environment. This is useful for SaaS applications where you need to guarantee compute isolation between untrusted tenants while using a single Lambda function.
|
|
1264
|
+
|
|
1265
|
+
```ts
|
|
1266
|
+
const fn = new lambda.Function(this, 'MyFunction', {
|
|
1267
|
+
runtime: lambda.Runtime.NODEJS_18_X,
|
|
1268
|
+
handler: 'index.handler',
|
|
1269
|
+
code: lambda.Code.fromAsset(path.join(__dirname, 'lambda-handler')),
|
|
1270
|
+
tenancyConfig: lambda.TenancyConfig.PER_TENANT,
|
|
1271
|
+
});
|
|
1272
|
+
```
|
|
1273
|
+
|
|
1274
|
+
**Important considerations:**
|
|
1275
|
+
|
|
1276
|
+
* **Immutable configuration**: Tenant isolation can only be configured during function creation and cannot be modified on existing functions.
|
|
1277
|
+
* **Incompatible features**: The following features are not compatible with tenant isolation and will result in CloudFormation deployment errors:
|
|
1278
|
+
* **Provisioned Concurrency**
|
|
1279
|
+
* **Function URLs**
|
|
1280
|
+
* **SnapStart**
|
|
1281
|
+
* **Event Source Mappings** (except API Gateway):
|
|
1282
|
+
* ❌ SQS
|
|
1283
|
+
* ❌ DynamoDB
|
|
1284
|
+
* ❌ Kinesis
|
|
1285
|
+
* ❌ MSK
|
|
1286
|
+
* ❌ Self-managed Kafka
|
|
1287
|
+
* ✅ API Gateway (supported)
|
|
1288
|
+
|
|
1289
|
+
CDK validates these restrictions at synthesis time and provides clear error messages when incompatible features are configured.
|
|
1290
|
+
|
|
1252
1291
|
### Legacy Log Retention
|
|
1253
1292
|
|
|
1254
1293
|
As an alternative to providing a custom, user controlled log group, the legacy `logRetention` property can be used to set a different expiration period.
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.binary-payload.ts
CHANGED
|
@@ -10,7 +10,7 @@ const app = new App({
|
|
|
10
10
|
const stack = new Stack(app, 'IntegBinaryPayload');
|
|
11
11
|
|
|
12
12
|
const fn = new Function(stack, 'fn', {
|
|
13
|
-
runtime: Runtime.
|
|
13
|
+
runtime: Runtime.NODEJS_20_X,
|
|
14
14
|
handler: 'index.handler',
|
|
15
15
|
code: Code.fromInline(`
|
|
16
16
|
exports.handler = async (event) => {
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import * as cdk from 'aws-cdk-lib';
|
|
2
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda';
|
|
3
|
+
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
4
|
+
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
5
|
+
|
|
6
|
+
const app = new cdk.App({
|
|
7
|
+
postCliContext: {
|
|
8
|
+
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
9
|
+
},
|
|
10
|
+
});
|
|
11
|
+
const stack = new cdk.Stack(app, 'stack');
|
|
12
|
+
|
|
13
|
+
const mappingName = 'testmapping';
|
|
14
|
+
const mapping = new cdk.CfnMapping(stack, 'testmapping', {
|
|
15
|
+
mapping: {
|
|
16
|
+
us: {
|
|
17
|
+
regionalModels:
|
|
18
|
+
'arn:aws:bedrock:us-west-2::foundation-model/amazon.nova-lite-v1:0',
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
mapping.overrideLogicalId(mappingName);
|
|
23
|
+
|
|
24
|
+
const func = new lambda.Function(stack, 'test-function', {
|
|
25
|
+
code: new lambda.InlineCode('exports.handler = async (event) => { console.log(event); return {\'statusCode\': 200, \'body\': \'\'}; }'),
|
|
26
|
+
runtime: lambda.Runtime.NODEJS_20_X,
|
|
27
|
+
handler: 'index.handler',
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
// Literal resources in statement
|
|
31
|
+
func.addToRolePolicy(new iam.PolicyStatement({
|
|
32
|
+
actions: ['bedrock:Invoke*'],
|
|
33
|
+
resources: [
|
|
34
|
+
'*',
|
|
35
|
+
],
|
|
36
|
+
}));
|
|
37
|
+
|
|
38
|
+
// Array token resources in statement
|
|
39
|
+
func.addToRolePolicy(new iam.PolicyStatement({
|
|
40
|
+
actions: ['bedrock:Invoke*'],
|
|
41
|
+
resources: cdk.Fn.split(',', cdk.Fn.findInMap(mappingName, 'us', 'regionalModels')),
|
|
42
|
+
}));
|
|
43
|
+
|
|
44
|
+
new integ.IntegTest(app, 'lambda-policy-with-token-resolution', {
|
|
45
|
+
testCases: [stack],
|
|
46
|
+
});
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.logging-config.ts
CHANGED
|
@@ -18,49 +18,49 @@ const logGroup = new logs.LogGroup(stack, 'MyLogGroupWithLogGroupName', {
|
|
|
18
18
|
new Function(stack, 'LambdaWithLogGroup', {
|
|
19
19
|
code: new InlineCode('foo'),
|
|
20
20
|
handler: 'index.handler',
|
|
21
|
-
runtime: Runtime.
|
|
21
|
+
runtime: Runtime.NODEJS_20_X,
|
|
22
22
|
logGroup: logGroup,
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
new Function(stack, 'LambdaWithLogGroupAndNoLogGroupName', {
|
|
26
26
|
code: new InlineCode('foo'),
|
|
27
27
|
handler: 'index.handler',
|
|
28
|
-
runtime: Runtime.
|
|
28
|
+
runtime: Runtime.NODEJS_20_X,
|
|
29
29
|
logGroup: new logs.LogGroup(stack, 'MyLogGroupWithoutLogGroupName'),
|
|
30
30
|
});
|
|
31
31
|
|
|
32
32
|
new Function(stack, 'LambdaWithTextFormat', {
|
|
33
33
|
code: new InlineCode('foo'),
|
|
34
34
|
handler: 'index.handler',
|
|
35
|
-
runtime: Runtime.
|
|
35
|
+
runtime: Runtime.NODEJS_20_X,
|
|
36
36
|
logFormat: LogFormat.TEXT,
|
|
37
37
|
});
|
|
38
38
|
|
|
39
39
|
new Function(stack, 'LambdaWithJSONFormat', {
|
|
40
40
|
code: new InlineCode('foo'),
|
|
41
41
|
handler: 'index.handler',
|
|
42
|
-
runtime: Runtime.
|
|
42
|
+
runtime: Runtime.NODEJS_20_X,
|
|
43
43
|
logFormat: LogFormat.JSON,
|
|
44
44
|
});
|
|
45
45
|
|
|
46
46
|
new Function(stack, 'LambdaWithTextLoggingFormat', {
|
|
47
47
|
code: new InlineCode('foo'),
|
|
48
48
|
handler: 'index.handler',
|
|
49
|
-
runtime: Runtime.
|
|
49
|
+
runtime: Runtime.NODEJS_20_X,
|
|
50
50
|
logFormat: LoggingFormat.TEXT,
|
|
51
51
|
});
|
|
52
52
|
|
|
53
53
|
new Function(stack, 'LambdaWithJSONLoggingFormat', {
|
|
54
54
|
code: new InlineCode('foo'),
|
|
55
55
|
handler: 'index.handler',
|
|
56
|
-
runtime: Runtime.
|
|
56
|
+
runtime: Runtime.NODEJS_20_X,
|
|
57
57
|
logFormat: LoggingFormat.JSON,
|
|
58
58
|
});
|
|
59
59
|
|
|
60
60
|
new Function(stack, 'LambdaWithLogLevel', {
|
|
61
61
|
code: new InlineCode('foo'),
|
|
62
62
|
handler: 'index.handler',
|
|
63
|
-
runtime: Runtime.
|
|
63
|
+
runtime: Runtime.NODEJS_20_X,
|
|
64
64
|
logFormat: LogFormat.JSON,
|
|
65
65
|
systemLogLevel: SystemLogLevel.INFO,
|
|
66
66
|
applicationLogLevel: ApplicationLogLevel.INFO,
|
|
@@ -69,7 +69,7 @@ new Function(stack, 'LambdaWithLogLevel', {
|
|
|
69
69
|
new Function(stack, 'LambdaWithLogLevelV2', {
|
|
70
70
|
code: new InlineCode('foo'),
|
|
71
71
|
handler: 'index.handler',
|
|
72
|
-
runtime: Runtime.
|
|
72
|
+
runtime: Runtime.NODEJS_20_X,
|
|
73
73
|
loggingFormat: LoggingFormat.JSON,
|
|
74
74
|
systemLogLevelV2: SystemLogLevel.INFO,
|
|
75
75
|
applicationLogLevelV2: ApplicationLogLevel.INFO,
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { App, Stack } from 'aws-cdk-lib';
|
|
2
|
+
import * as integ from '@aws-cdk/integ-tests-alpha';
|
|
3
|
+
import { Function, InlineCode, Runtime, TenancyConfig } from 'aws-cdk-lib/aws-lambda';
|
|
4
|
+
|
|
5
|
+
const app = new App({
|
|
6
|
+
postCliContext: {
|
|
7
|
+
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
8
|
+
},
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
const stack = new Stack(app, 'aws-cdk-lambda-multi-tenancy');
|
|
12
|
+
|
|
13
|
+
new Function(stack, 'MultiTenantFunction', {
|
|
14
|
+
code: new InlineCode('foo'),
|
|
15
|
+
handler: 'index.handler',
|
|
16
|
+
runtime: Runtime.NODEJS_18_X,
|
|
17
|
+
tenancyConfig: TenancyConfig.PER_TENANT,
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
new integ.IntegTest(app, 'lambda-multi-tenancy', {
|
|
21
|
+
testCases: [stack],
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
app.synth();
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.params-and-secrets.ts
CHANGED
|
@@ -46,7 +46,7 @@ class StackUnderTest extends Stack {
|
|
|
46
46
|
});
|
|
47
47
|
|
|
48
48
|
const lambdaFunction = new Function(this, 'MyFunc', {
|
|
49
|
-
runtime: Runtime.
|
|
49
|
+
runtime: Runtime.NODEJS_20_X,
|
|
50
50
|
handler: 'index.handler',
|
|
51
51
|
code: Code.fromAsset(path.join(__dirname, 'params-and-secrets-handler')),
|
|
52
52
|
architecture: props.architecture,
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.runtime-management.ts
CHANGED
|
@@ -13,7 +13,7 @@ const stack = new Stack(app, 'aws-cdk-lambda-runtime-management');
|
|
|
13
13
|
new Function(stack, 'Lambda', {
|
|
14
14
|
code: new InlineCode('foo'),
|
|
15
15
|
handler: 'index.handler',
|
|
16
|
-
runtime: Runtime.
|
|
16
|
+
runtime: Runtime.NODEJS_20_X,
|
|
17
17
|
runtimeManagementMode: RuntimeManagementMode.AUTO,
|
|
18
18
|
});
|
|
19
19
|
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.runtime.fromasset.ts
CHANGED
|
@@ -10,20 +10,35 @@ const app = new App({
|
|
|
10
10
|
});
|
|
11
11
|
const stack = new Stack(app, 'aws-cdk-lambda-runtime-fromasset');
|
|
12
12
|
|
|
13
|
-
const
|
|
13
|
+
const lambdaFunctionJava21 = new Function(stack, 'MyFunctionJava21', {
|
|
14
14
|
runtime: Runtime.JAVA_21,
|
|
15
15
|
handler: 'com.mycompany.app.LambdaMethodHandler::handleRequest',
|
|
16
16
|
code: Code.fromAsset(path.join(__dirname, 'my-app-1.0-SNAPSHOT.zip')),
|
|
17
17
|
});
|
|
18
18
|
|
|
19
|
+
const lambdaFunctionJava25 = new Function(stack, 'MyFunctionJava25', {
|
|
20
|
+
runtime: Runtime.JAVA_25,
|
|
21
|
+
handler: 'com.mycompany.app.LambdaMethodHandler::handleRequest',
|
|
22
|
+
code: Code.fromAsset(path.join(__dirname, 'my-app-1.0-SNAPSHOT.zip')),
|
|
23
|
+
});
|
|
24
|
+
|
|
19
25
|
const integTest = new integ.IntegTest(app, 'Integ', { testCases: [stack] });
|
|
20
26
|
|
|
21
|
-
const
|
|
22
|
-
functionName:
|
|
27
|
+
const invokeJava21 = integTest.assertions.invokeFunction({
|
|
28
|
+
functionName: lambdaFunctionJava21.functionName,
|
|
29
|
+
payload: '123',
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
invokeJava21.expect(integ.ExpectedResult.objectLike({
|
|
33
|
+
Payload: '"123"',
|
|
34
|
+
}));
|
|
35
|
+
|
|
36
|
+
const invokeJava25 = integTest.assertions.invokeFunction({
|
|
37
|
+
functionName: lambdaFunctionJava25.functionName,
|
|
23
38
|
payload: '123',
|
|
24
39
|
});
|
|
25
40
|
|
|
26
|
-
|
|
41
|
+
invokeJava25.expect(integ.ExpectedResult.objectLike({
|
|
27
42
|
Payload: '"123"',
|
|
28
43
|
}));
|
|
29
44
|
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-lambda/integ.runtime.inlinecode.ts
CHANGED
|
@@ -55,12 +55,12 @@ const python313 = new Function(stack, 'PYTHON_3_13', {
|
|
|
55
55
|
});
|
|
56
56
|
new CfnOutput(stack, 'PYTHON_3_13-functionName', { value: python313.functionName });
|
|
57
57
|
|
|
58
|
-
const
|
|
59
|
-
code: new InlineCode('
|
|
58
|
+
const python314 = new Function(stack, 'PYTHON_3_14', {
|
|
59
|
+
code: new InlineCode('def handler(event, context):\n return "success"'),
|
|
60
60
|
handler: 'index.handler',
|
|
61
|
-
runtime: Runtime.
|
|
61
|
+
runtime: Runtime.PYTHON_3_14,
|
|
62
62
|
});
|
|
63
|
-
new CfnOutput(stack, '
|
|
63
|
+
new CfnOutput(stack, 'PYTHON_3_14-functionName', { value: python314.functionName });
|
|
64
64
|
|
|
65
65
|
const node20xfn = new Function(stack, 'NODEJS_20_X', {
|
|
66
66
|
code: new InlineCode('exports.handler = async function(event) { return "success" }'),
|
|
@@ -76,6 +76,13 @@ const node22xfn = new Function(stack, 'NODEJS_22_X', {
|
|
|
76
76
|
});
|
|
77
77
|
new CfnOutput(stack, 'NODEJS_22_X-functionName', { value: node22xfn.functionName });
|
|
78
78
|
|
|
79
|
+
const node24xfn = new Function(stack, 'NODEJS_24_X', {
|
|
80
|
+
code: new InlineCode('exports.handler = async function(event) { return "success" }'),
|
|
81
|
+
handler: 'index.handler',
|
|
82
|
+
runtime: Runtime.NODEJS_24_X,
|
|
83
|
+
});
|
|
84
|
+
new CfnOutput(stack, 'NODEJS_24_X-functionName', { value: node24xfn.functionName });
|
|
85
|
+
|
|
79
86
|
new integ.IntegTest(app, 'lambda-runtime-inlinecode', {
|
|
80
87
|
testCases: [stack],
|
|
81
88
|
});
|
|
@@ -108,8 +108,8 @@ With the `@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion` disabled, the runt
|
|
|
108
108
|
|
|
109
109
|
## Lock file
|
|
110
110
|
|
|
111
|
-
The `NodejsFunction` requires a dependencies lock file (`yarn.lock`, `pnpm-lock.yaml`, `bun.lockb
|
|
112
|
-
`package-lock.json`). When bundling in a Docker container, the path containing this lock file is
|
|
111
|
+
The `NodejsFunction` requires a dependencies lock file (`yarn.lock`, `pnpm-lock.yaml`, `bun.lockb`,
|
|
112
|
+
`bun.lock` or `package-lock.json`). When bundling in a Docker container, the path containing this lock file is
|
|
113
113
|
used as the source (`/asset-input`) for the volume mounted in the container.
|
|
114
114
|
|
|
115
115
|
By default, the construct will try to automatically determine your project lock file.
|
|
@@ -201,7 +201,7 @@ new nodejs.NodejsFunction(this, 'my-handler', {
|
|
|
201
201
|
|
|
202
202
|
The modules listed in `nodeModules` must be present in the `package.json`'s dependencies or
|
|
203
203
|
installed. The same version will be used for installation. The lock file (`yarn.lock`,
|
|
204
|
-
`pnpm-lock.yaml`, `bun.lockb` or `package-lock.json`) will be used along with the right installer (`yarn`,
|
|
204
|
+
`pnpm-lock.yaml`, `bun.lockb`, `bun.lock` or `package-lock.json`) will be used along with the right installer (`yarn`,
|
|
205
205
|
`pnpm`, `bun` or `npm`).
|
|
206
206
|
|
|
207
207
|
When working with `nodeModules` using native dependencies, you might want to force bundling in a
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as path from 'path';
|
|
2
|
+
import { Runtime } from 'aws-cdk-lib/aws-lambda';
|
|
3
|
+
import * as cdk from 'aws-cdk-lib';
|
|
4
|
+
import { ExpectedResult, IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
5
|
+
import * as lambda from 'aws-cdk-lib/aws-lambda-nodejs';
|
|
6
|
+
|
|
7
|
+
const app = new cdk.App({
|
|
8
|
+
postCliContext: {
|
|
9
|
+
'@aws-cdk/aws-lambda:useCdkManagedLogGroup': false,
|
|
10
|
+
},
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
const stack = new cdk.Stack(app, 'TestStack');
|
|
14
|
+
|
|
15
|
+
const handler = new lambda.NodejsFunction(stack, 'Function', {
|
|
16
|
+
entry: path.join(__dirname, 'integ-handlers/bun_lock/dependencies-bun.ts'),
|
|
17
|
+
runtime: Runtime.NODEJS_22_X,
|
|
18
|
+
bundling: {
|
|
19
|
+
minify: true,
|
|
20
|
+
// Will be installed, not bundled
|
|
21
|
+
// (axios is a package with sub-dependencies,
|
|
22
|
+
// will be used to ensure bun bundling works as expected)
|
|
23
|
+
nodeModules: ['axios'],
|
|
24
|
+
forceDockerBundling: true,
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
// To (re-)generate this lockfile:
|
|
28
|
+
// 1. Ensure your local version of bun matches the version in packages/aws-cdk-lib/aws-lambda-nodejs/lib/Dockerfile
|
|
29
|
+
// 2. `cd` to `packages/@aws-cdk-testing/framework-integ/test/aws-lambda-nodejs/test/integ-handlers/bun`
|
|
30
|
+
// 3. Rename the `_package.json` file to `package.json`
|
|
31
|
+
// 4. Run `bun install`
|
|
32
|
+
depsLockFilePath: path.join(__dirname, 'integ-handlers/bun_lock/bun.lock'),
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
const integ = new IntegTest(app, 'BunTest', {
|
|
36
|
+
testCases: [stack],
|
|
37
|
+
stackUpdateWorkflow: false, // this will tell the runner to not check in assets.
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
const response = integ.assertions.invokeFunction({
|
|
41
|
+
functionName: handler.functionName,
|
|
42
|
+
});
|
|
43
|
+
response.expect(
|
|
44
|
+
ExpectedResult.objectLike({
|
|
45
|
+
// expect invoking without error
|
|
46
|
+
StatusCode: 200,
|
|
47
|
+
ExecutedVersion: '$LATEST',
|
|
48
|
+
Payload: 'null',
|
|
49
|
+
}),
|
|
50
|
+
);
|
|
@@ -14,7 +14,7 @@ const stack = new cdk.Stack(app, 'TestStack');
|
|
|
14
14
|
|
|
15
15
|
const handler = new lambda.NodejsFunction(stack, 'Function', {
|
|
16
16
|
entry: path.join(__dirname, 'integ-handlers/pnpm/dependencies-pnpm.ts'),
|
|
17
|
-
runtime: Runtime.
|
|
17
|
+
runtime: Runtime.NODEJS_20_X,
|
|
18
18
|
bundling: {
|
|
19
19
|
minify: true,
|
|
20
20
|
// Will be installed, not bundled
|
|
@@ -14,7 +14,7 @@ class TestStack extends Stack {
|
|
|
14
14
|
|
|
15
15
|
this.lambdaFunction = new lambda.NodejsFunction(this, 'NodeJsFunction', {
|
|
16
16
|
entry: path.join(__dirname, 'integ-handlers/dependencies.ts'),
|
|
17
|
-
runtime: Runtime.
|
|
17
|
+
runtime: Runtime.NODEJS_20_X,
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -25,7 +25,7 @@ const app = new App({
|
|
|
25
25
|
[LAMBDA_NODEJS_SDK_V3_EXCLUDE_SMITHY_PACKAGES]: true,
|
|
26
26
|
},
|
|
27
27
|
});
|
|
28
|
-
const stack = new TestStack(app, 'cdk-integ-lambda-nodejs-
|
|
28
|
+
const stack = new TestStack(app, 'cdk-integ-lambda-nodejs-20-exclude-smithy');
|
|
29
29
|
new IntegTest(app, 'NodeJsFunctionExcludeSmithyInteg', {
|
|
30
30
|
testCases: [stack],
|
|
31
31
|
diffAssets: true,
|
|
@@ -12,7 +12,7 @@ class TestStack extends Stack {
|
|
|
12
12
|
super(scope, id, props);
|
|
13
13
|
|
|
14
14
|
const runtimes: Runtime[]= [
|
|
15
|
-
Runtime.
|
|
15
|
+
Runtime.NODEJS_20_X, Runtime.NODEJS_LATEST, Runtime.NODEJS_22_X,
|
|
16
16
|
];
|
|
17
17
|
|
|
18
18
|
const uniqueRuntimes: Runtime[] = runtimes.filter((value, index, array) => array.findIndex(value1 => value1.runtimeEquals(value)) === index);
|
|
@@ -199,7 +199,6 @@ the name `Namespace/MetricName`.
|
|
|
199
199
|
|
|
200
200
|
You can expose a metric on a metric filter by calling the `MetricFilter.metric()` API.
|
|
201
201
|
This has a default of `statistic = 'avg'` if the statistic is not set in the `props`.
|
|
202
|
-
Additionally, if the metric filter was created with a dimension map, those dimensions will be included in the metric.
|
|
203
202
|
|
|
204
203
|
```ts
|
|
205
204
|
declare const logGroup: logs.LogGroup;
|
|
@@ -403,6 +402,10 @@ new logs.QueryDefinition(this, 'QueryDefinition', {
|
|
|
403
402
|
'loggingType = "ERROR"',
|
|
404
403
|
'loggingMessage = "A very strange error occurred!"',
|
|
405
404
|
],
|
|
405
|
+
statsStatements: [
|
|
406
|
+
'count(loggingMessage) as loggingErrors',
|
|
407
|
+
'count(differentLoggingMessage) as differentLoggingErrors',
|
|
408
|
+
],
|
|
406
409
|
sort: '@timestamp desc',
|
|
407
410
|
limit: 20,
|
|
408
411
|
}),
|
|
@@ -481,6 +484,71 @@ new logs.LogGroup(this, 'LogGroup', {
|
|
|
481
484
|
});
|
|
482
485
|
```
|
|
483
486
|
|
|
487
|
+
## Transformer
|
|
488
|
+
|
|
489
|
+
A log transformer enables transforming log events into a different format, making them easier
|
|
490
|
+
to process and analyze. You can transform logs from different sources into standardized formats
|
|
491
|
+
that contain relevant, source-specific information. Transformations are performed at the time of log ingestion.
|
|
492
|
+
Transformers support several types of processors which can be chained into a processing pipeline (subject to some restrictions, see [Usage Limits](#usage-limits)).
|
|
493
|
+
|
|
494
|
+
### Processor Types
|
|
495
|
+
|
|
496
|
+
1. **Parser Processors**: Parse string log events into structured log events. These are configurable parsers created using `ParserProcessor`, and support conversion to a format like Json, extracting fields from CSV input, converting vended sources to [OCSF](https://schema.ocsf.io/1.1.0/) format, regex parsing using Grok patterns or key-value parsing. Refer [configurable parsers](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation-Processors.html#CloudWatch-Logs-Transformation-Configurable) for more examples.
|
|
497
|
+
|
|
498
|
+
2. **Vended Log Parsers**: Parse log events from vended sources into structured log events. These are created using `VendedLogParser`, and support conversion from sources such as AWS WAF, PostGres, Route53, CloudFront and VPC. These parsers are not configurable, meaning these can be added to the pipeline but do not accept any properties or configurations. Refer [vended log parsers](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation-Processors.html#CloudWatch-Logs-Transformation-BuiltIn) for more examples.
|
|
499
|
+
|
|
500
|
+
3. **String Mutators**: Perform operations on string values in a field of a log event and are created using `StringMutatorProcessor`. These can be used to format string values in the log event such as changing case, removing trailing whitespaces or extracting values from a string field by splitting the string or regex backreferences. Refer [string mutators](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation-Processors.html#CloudWatch-Logs-Transformation-StringMutate) for more examples.
|
|
501
|
+
|
|
502
|
+
4. **JSON Mutators**: Perform operation on JSON log events and are created using `JsonMutatorProcessor`. These processors can be used to enrich log events by adding new fields, deleting, moving, renaming fields, copying values to other fields or converting a list of key-value pairs to a map. Refer [JSON mutators](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation-Processors.html#CloudWatch-Logs-Transformation-JSONMutate) for more examples.
|
|
503
|
+
|
|
504
|
+
5. **Data Converters**: Convert the data into different formats and are created using `DataConverterProcessor`. These can be used to convert values in a field to datatypes such as integers, string, double and boolean or to convert dates and times to different formats. Refer [datatype processors](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation-Processors.html#CloudWatch-Logs-Transformation-Datatype) for more examples.
|
|
505
|
+
|
|
506
|
+
### Usage Limits
|
|
507
|
+
|
|
508
|
+
- A transformer can have a maximum of 20 processors
|
|
509
|
+
- At least one parser-type processor is required
|
|
510
|
+
- Maximum of 5 parser-type processors allowed
|
|
511
|
+
- AWS vended log parser (if used) must be the first processor
|
|
512
|
+
- Only one parseToOcsf processor, one grok processor, one addKeys processor, and one copyValue processor allowed per transformer
|
|
513
|
+
- Transformers can only be used with log groups in the Standard log class
|
|
514
|
+
|
|
515
|
+
Example:
|
|
516
|
+
|
|
517
|
+
```ts
|
|
518
|
+
|
|
519
|
+
// Create a log group
|
|
520
|
+
const logGroup = new logs.LogGroup(this, 'MyLogGroup');
|
|
521
|
+
|
|
522
|
+
// Create a JSON parser processor
|
|
523
|
+
const jsonParser = new logs.ParserProcessor({
|
|
524
|
+
type: logs.ParserProcessorType.JSON
|
|
525
|
+
});
|
|
526
|
+
|
|
527
|
+
// Create a processor to add keys
|
|
528
|
+
const addKeysProcessor = new logs.JsonMutatorProcessor({
|
|
529
|
+
type: logs.JsonMutatorType.ADD_KEYS,
|
|
530
|
+
addKeysOptions: {
|
|
531
|
+
entries: [{
|
|
532
|
+
key: 'metadata.transformed_in',
|
|
533
|
+
value: 'CloudWatchLogs'
|
|
534
|
+
}]
|
|
535
|
+
}
|
|
536
|
+
});
|
|
537
|
+
|
|
538
|
+
// Create a transformer with these processors
|
|
539
|
+
new logs.Transformer(this, 'Transformer', {
|
|
540
|
+
transformerName: 'MyTransformer',
|
|
541
|
+
logGroup: logGroup,
|
|
542
|
+
transformerConfig: [jsonParser, addKeysProcessor]
|
|
543
|
+
});
|
|
544
|
+
```
|
|
545
|
+
|
|
546
|
+
For more details on CloudWatch Logs transformation processors, refer to the [AWS documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch-Logs-Transformation-Processors.html).
|
|
547
|
+
|
|
548
|
+
### Usage of metric filters on transformed logs
|
|
549
|
+
|
|
550
|
+
In order to use the transformed logs as search pattern, set the parameter `applyOnTransformedLogs: true` in the MetricFilterProps.
|
|
551
|
+
|
|
484
552
|
## Notes
|
|
485
553
|
|
|
486
554
|
Be aware that Log Group ARNs will always have the string `:*` appended to
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.loggroup-transformer.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
2
|
+
import { App, Stack, StackProps } from 'aws-cdk-lib';
|
|
3
|
+
import { JsonMutatorType, LogGroup, ParserProcessorType, ParserProcessor, JsonMutatorProcessor } from 'aws-cdk-lib/aws-logs';
|
|
4
|
+
|
|
5
|
+
class TransformerIntegStack extends Stack {
|
|
6
|
+
constructor(scope: App, id: string, props?: StackProps) {
|
|
7
|
+
super(scope, id, props);
|
|
8
|
+
|
|
9
|
+
const logGroup = new LogGroup(this, 'MyLogGroup');
|
|
10
|
+
const jsonParser = new ParserProcessor({
|
|
11
|
+
type: ParserProcessorType.JSON,
|
|
12
|
+
jsonOptions: { source: 'customField' },
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
const addKeysProcesor = new JsonMutatorProcessor({
|
|
16
|
+
type: JsonMutatorType.ADD_KEYS,
|
|
17
|
+
addKeysOptions: {
|
|
18
|
+
entries: [
|
|
19
|
+
{ key: 'test_key1', value: 'test_value1', overwriteIfExists: true },
|
|
20
|
+
{ key: 'test_key2', value: 'test_value2' },
|
|
21
|
+
{ key: 'test_key3', value: 'test_value3', overwriteIfExists: false },
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
logGroup.addTransformer('Transformer', {
|
|
27
|
+
transformerName: 'MyTransformer',
|
|
28
|
+
transformerConfig: [jsonParser, addKeysProcesor],
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const app = new App();
|
|
34
|
+
const testCase = new TransformerIntegStack(app, 'aws-cdk-transformer-integ');
|
|
35
|
+
new IntegTest(app, 'transformer-create', {
|
|
36
|
+
testCases: [testCase],
|
|
37
|
+
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { App, RemovalPolicy, Stack, StackProps } from 'aws-cdk-lib';
|
|
2
|
+
import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
3
|
+
import { FilterPattern, LogGroup, MetricFilter } from 'aws-cdk-lib/aws-logs';
|
|
4
|
+
|
|
5
|
+
class TestStack extends Stack {
|
|
6
|
+
constructor(scope: App, id: string, props?: StackProps) {
|
|
7
|
+
super(scope, id, props);
|
|
8
|
+
|
|
9
|
+
const logGroup = new LogGroup(this, 'LogGroup', {
|
|
10
|
+
removalPolicy: RemovalPolicy.DESTROY,
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
new MetricFilter(this, 'MetricFilter', {
|
|
14
|
+
logGroup,
|
|
15
|
+
metricNamespace: 'MyApp',
|
|
16
|
+
metricName: 'Latency',
|
|
17
|
+
filterPattern: FilterPattern.exists('$.latency'),
|
|
18
|
+
applyOnTransformedLogs: true,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const app = new App();
|
|
24
|
+
const testCase = new TestStack(app, 'aws-cdk-metricfilter-apply-on-transformed-logs-integ');
|
|
25
|
+
|
|
26
|
+
new IntegTest(app, 'metricfilter-apply-on-transformed-logs', {
|
|
27
|
+
testCases: [testCase],
|
|
28
|
+
});
|
|
29
|
+
app.synth();
|
|
@@ -11,13 +11,14 @@ class LogsInsightsQueryDefinitionIntegStack extends Stack {
|
|
|
11
11
|
removalPolicy: RemovalPolicy.DESTROY,
|
|
12
12
|
});
|
|
13
13
|
|
|
14
|
-
// Test query creation with single parse and
|
|
14
|
+
// Test query creation with single parse, filter, and sort statements
|
|
15
15
|
new QueryDefinition(this, 'QueryDefinition', {
|
|
16
16
|
queryDefinitionName: 'QueryDefinition',
|
|
17
17
|
queryString: new QueryString({
|
|
18
18
|
fields: ['@timestamp', '@message'],
|
|
19
19
|
parse: '@message "[*] *" as loggingType, loggingMessage',
|
|
20
20
|
filter: 'loggingType = "ERROR"',
|
|
21
|
+
stats: 'count(loggingMessage) as loggingErrors',
|
|
21
22
|
sort: '@timestamp desc',
|
|
22
23
|
limit: 20,
|
|
23
24
|
display: 'loggingMessage',
|
|
@@ -25,7 +26,7 @@ class LogsInsightsQueryDefinitionIntegStack extends Stack {
|
|
|
25
26
|
logGroups: [logGroup],
|
|
26
27
|
});
|
|
27
28
|
|
|
28
|
-
// Test query creation with multiple parse and
|
|
29
|
+
// Test query creation with multiple parse, filter, and stats statements
|
|
29
30
|
new QueryDefinition(this, 'QueryDefinitionWithMultipleStatements', {
|
|
30
31
|
queryDefinitionName: 'QueryDefinitionWithMultipleStatements',
|
|
31
32
|
queryString: new QueryString({
|
|
@@ -38,6 +39,10 @@ class LogsInsightsQueryDefinitionIntegStack extends Stack {
|
|
|
38
39
|
'loggingType = "ERROR"',
|
|
39
40
|
'loggingMessage = "A very strange error occurred!"',
|
|
40
41
|
],
|
|
42
|
+
statsStatements: [
|
|
43
|
+
'count(loggingMessage) as loggingErrors',
|
|
44
|
+
'count(differentLoggingMessage) as differentLoggingErrors',
|
|
45
|
+
],
|
|
41
46
|
sort: '@timestamp desc',
|
|
42
47
|
limit: 20,
|
|
43
48
|
display: 'loggingMessage',
|
cdk_api_mcp_server/resources/aws-cdk/constructs/aws-cdk-lib/aws-logs/integ.subscriptionfilter.ts
CHANGED
|
@@ -11,7 +11,7 @@ class SubscriptionFilterIntegStack extends Stack {
|
|
|
11
11
|
const logGroup = new LogGroup(this, 'LogGroup');
|
|
12
12
|
|
|
13
13
|
const fn = new Function(this, 'Function', {
|
|
14
|
-
runtime: Runtime.
|
|
14
|
+
runtime: Runtime.NODEJS_20_X,
|
|
15
15
|
handler: 'index.handler',
|
|
16
16
|
code: Code.fromInline('foo'),
|
|
17
17
|
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { IntegTest } from '@aws-cdk/integ-tests-alpha';
|
|
2
|
+
import { App, Stack, StackProps } from 'aws-cdk-lib';
|
|
3
|
+
import { LogGroup, ParserProcessorType, ParserProcessor, Transformer } from 'aws-cdk-lib/aws-logs';
|
|
4
|
+
|
|
5
|
+
class TransformerIntegStack extends Stack {
|
|
6
|
+
constructor(scope: App, id: string, props?: StackProps) {
|
|
7
|
+
super(scope, id, props);
|
|
8
|
+
|
|
9
|
+
const logGroup = new LogGroup(this, 'MyLogGroup');
|
|
10
|
+
const jsonParser = new ParserProcessor({
|
|
11
|
+
type: ParserProcessorType.JSON,
|
|
12
|
+
jsonOptions: { source: 'customField' },
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
new Transformer(this, 'Transformer', {
|
|
16
|
+
transformerName: 'MyTransformer',
|
|
17
|
+
logGroup: logGroup,
|
|
18
|
+
transformerConfig: [jsonParser],
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const app = new App();
|
|
24
|
+
const testCase = new TransformerIntegStack(app, 'aws-cdk-transformer-integ');
|
|
25
|
+
new IntegTest(app, 'transformer-create', {
|
|
26
|
+
testCases: [testCase],
|
|
27
|
+
});
|