@intentius/chant-lexicon-aws 0.84.0 → 0.86.0

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.
Files changed (75) hide show
  1. package/dist/composites/alb-shared.d.ts +1 -0
  2. package/dist/composites/alb-shared.d.ts.map +1 -1
  3. package/dist/composites/catalog.d.ts +3 -0
  4. package/dist/composites/catalog.d.ts.map +1 -0
  5. package/dist/composites/dynamodb-table.d.ts +1 -0
  6. package/dist/composites/dynamodb-table.d.ts.map +1 -1
  7. package/dist/composites/ec2-instance-role.d.ts +1 -0
  8. package/dist/composites/ec2-instance-role.d.ts.map +1 -1
  9. package/dist/composites/ecr-repository.d.ts +1 -0
  10. package/dist/composites/ecr-repository.d.ts.map +1 -1
  11. package/dist/composites/efs-with-access-point.d.ts +1 -0
  12. package/dist/composites/efs-with-access-point.d.ts.map +1 -1
  13. package/dist/composites/fargate-alb.d.ts +1 -0
  14. package/dist/composites/fargate-alb.d.ts.map +1 -1
  15. package/dist/composites/fargate-service.d.ts +1 -0
  16. package/dist/composites/fargate-service.d.ts.map +1 -1
  17. package/dist/composites/lambda-api.d.ts +1 -0
  18. package/dist/composites/lambda-api.d.ts.map +1 -1
  19. package/dist/composites/lambda-dynamodb.d.ts +1 -0
  20. package/dist/composites/lambda-dynamodb.d.ts.map +1 -1
  21. package/dist/composites/lambda-eventbridge.d.ts +1 -0
  22. package/dist/composites/lambda-eventbridge.d.ts.map +1 -1
  23. package/dist/composites/lambda-function.d.ts +17 -16
  24. package/dist/composites/lambda-function.d.ts.map +1 -1
  25. package/dist/composites/lambda-s3.d.ts +1 -0
  26. package/dist/composites/lambda-s3.d.ts.map +1 -1
  27. package/dist/composites/lambda-sns.d.ts +1 -0
  28. package/dist/composites/lambda-sns.d.ts.map +1 -1
  29. package/dist/composites/lambda-sqs.d.ts +1 -0
  30. package/dist/composites/lambda-sqs.d.ts.map +1 -1
  31. package/dist/composites/landing-zone.d.ts +2 -0
  32. package/dist/composites/landing-zone.d.ts.map +1 -1
  33. package/dist/composites/minimal-vpc.d.ts +1 -0
  34. package/dist/composites/minimal-vpc.d.ts.map +1 -1
  35. package/dist/composites/nlb-service.d.ts +1 -0
  36. package/dist/composites/nlb-service.d.ts.map +1 -1
  37. package/dist/composites/rds-instance.d.ts +1 -0
  38. package/dist/composites/rds-instance.d.ts.map +1 -1
  39. package/dist/composites/scheduled-lambda.d.ts +1 -0
  40. package/dist/composites/scheduled-lambda.d.ts.map +1 -1
  41. package/dist/composites/solr-fargate-service.d.ts +2 -0
  42. package/dist/composites/solr-fargate-service.d.ts.map +1 -1
  43. package/dist/composites/step-functions-workflow.d.ts +1 -0
  44. package/dist/composites/step-functions-workflow.d.ts.map +1 -1
  45. package/dist/composites/vpc-default.d.ts +1 -0
  46. package/dist/composites/vpc-default.d.ts.map +1 -1
  47. package/dist/integrity.json +2 -2
  48. package/dist/manifest.json +1 -1
  49. package/dist/plugin.d.ts.map +1 -1
  50. package/package.json +2 -2
  51. package/src/composites/alb-shared.ts +1 -0
  52. package/src/composites/catalog.test.ts +39 -0
  53. package/src/composites/catalog.ts +2719 -0
  54. package/src/composites/dynamodb-table.ts +1 -0
  55. package/src/composites/ec2-instance-role.ts +1 -0
  56. package/src/composites/ecr-repository.ts +1 -0
  57. package/src/composites/efs-with-access-point.ts +1 -0
  58. package/src/composites/fargate-alb.ts +1 -0
  59. package/src/composites/fargate-service.ts +1 -0
  60. package/src/composites/lambda-api.ts +1 -0
  61. package/src/composites/lambda-dynamodb.ts +1 -0
  62. package/src/composites/lambda-eventbridge.ts +1 -0
  63. package/src/composites/lambda-function.ts +1 -0
  64. package/src/composites/lambda-s3.ts +1 -0
  65. package/src/composites/lambda-sns.ts +1 -0
  66. package/src/composites/lambda-sqs.ts +1 -0
  67. package/src/composites/landing-zone.ts +2 -0
  68. package/src/composites/minimal-vpc.ts +1 -0
  69. package/src/composites/nlb-service.ts +1 -0
  70. package/src/composites/rds-instance.ts +1 -0
  71. package/src/composites/scheduled-lambda.ts +1 -0
  72. package/src/composites/solr-fargate-service.ts +2 -0
  73. package/src/composites/step-functions-workflow.ts +1 -0
  74. package/src/composites/vpc-default.ts +1 -0
  75. package/src/plugin.ts +5 -0
@@ -70,6 +70,7 @@ function toKeySchema(partitionKey: DynamoDBKey, sortKey?: DynamoDBKey): Instance
70
70
  return sortEntry ? [partitionEntry, sortEntry] : [partitionEntry];
71
71
  }
72
72
 
73
+ /** A DynamoDB table from a partition key, an optional sort key and optional global secondary indexes. */
73
74
  export const DynamoDBTable = Composite((props: DynamoDBTableProps) => {
74
75
  const billingMode = props.billingMode ?? "PAY_PER_REQUEST";
75
76
  const { defaults } = props;
@@ -22,6 +22,7 @@ const EC2_ASSUME_ROLE = {
22
22
  ],
23
23
  };
24
24
 
25
+ /** An IAM role that EC2 can assume, with the instance profile that attaches it to an instance. */
25
26
  export const Ec2InstanceRole = Composite((props: Ec2InstanceRoleProps) => {
26
27
  const { defaults } = props;
27
28
 
@@ -89,6 +89,7 @@ function toLifecyclePolicyText(rules: EcrLifecycleRule[]): string {
89
89
  return JSON.stringify({ rules: rules.map(toJsonRule) });
90
90
  }
91
91
 
92
+ /** An ECR repository with image scanning, encryption and lifecycle rules. */
92
93
  export const EcrRepository = Composite((props: EcrRepositoryProps) => {
93
94
  const { defaults } = props;
94
95
  const scanOnPush = props.scanOnPush ?? true;
@@ -28,6 +28,7 @@ export interface EfsWithAccessPointProps {
28
28
  throughputMode?: "bursting" | "provisioned" | "elastic";
29
29
  }
30
30
 
31
+ /** An EFS file system with an access point and the security group that admits NFS traffic to it. */
31
32
  export const EfsWithAccessPoint = Composite((props: EfsWithAccessPointProps) => {
32
33
  // Ternary (not push-inside-if) keeps the `new`s out of control flow (EVL002).
33
34
  const ingressRules: InstanceType<typeof SecurityGroup_Ingress>[] = props.sourceSecurityGroupId
@@ -68,6 +68,7 @@ export interface FargateAlbProps {
68
68
  };
69
69
  }
70
70
 
71
+ /** A Fargate service behind its own Application Load Balancer: cluster, task definition, service, target group, listener, logs and roles. */
71
72
  export const FargateAlb = Composite((props: FargateAlbProps) => {
72
73
  const containerPort = props.containerPort ?? 80;
73
74
  const cpu = props.cpu ?? "256";
@@ -109,6 +109,7 @@ export interface FargateServiceProps {
109
109
  };
110
110
  }
111
111
 
112
+ /** A Fargate service routed by a listener rule on an existing ALB listener, with its task definition, target group, logs, roles and optional autoscaling. */
112
113
  export const FargateService = Composite((props: FargateServiceProps) => {
113
114
  if (!props.pathPatterns && !props.hostHeaders) {
114
115
  throw new Error("FargateService requires at least one of pathPatterns or hostHeaders");
@@ -14,6 +14,7 @@ export type LambdaApiResult = LambdaFunctionResult & {
14
14
  permission: InstanceType<typeof Permission>;
15
15
  };
16
16
 
17
+ /** A Lambda function with an execution role and the permission that lets API Gateway invoke it. */
17
18
  export const LambdaApi = Composite<LambdaApiProps, LambdaApiResult>((props) => {
18
19
  const { defaults } = props;
19
20
  const { role, func } = LambdaFunction(props);
@@ -28,6 +28,7 @@ export interface LambdaDynamoDBProps extends LambdaFunctionProps {
28
28
  };
29
29
  }
30
30
 
31
+ /** A Lambda function with a DynamoDB table, table access for its role and an optional stream trigger. */
31
32
  export const LambdaDynamoDB = Composite((props: LambdaDynamoDBProps) => {
32
33
  // Conditional entries via spread keep the `new`s out of the `if` (EVL002).
33
34
  const attributeDefinitions = [
@@ -14,6 +14,7 @@ export interface LambdaEventBridgeProps extends LambdaFunctionProps {
14
14
  };
15
15
  }
16
16
 
17
+ /** A Lambda function triggered by an EventBridge rule, on a schedule or an event pattern. */
17
18
  export const LambdaEventBridge = Composite((props: LambdaEventBridgeProps) => {
18
19
  const { defaults } = props;
19
20
  const { role, func } = LambdaFunction(props);
@@ -40,6 +40,7 @@ export type LambdaFunctionResult = {
40
40
  func: InstanceType<typeof Function>;
41
41
  };
42
42
 
43
+ /** A Lambda function with its execution role. */
43
44
  export const LambdaFunction = Composite<LambdaFunctionProps, LambdaFunctionResult>((props) => {
44
45
  const { defaults } = props;
45
46
  const managedPolicies = [BASIC_EXECUTION_ARN];
@@ -33,6 +33,7 @@ export type LambdaS3Result = LambdaFunctionResult & {
33
33
  permission: InstanceType<typeof Permission>;
34
34
  };
35
35
 
36
+ /** A Lambda function with an S3 bucket, bucket access for its role and an optional bucket-notification trigger. */
36
37
  export const LambdaS3 = Composite<LambdaS3Props, LambdaFunctionResult & { bucket: InstanceType<typeof Bucket>; permission?: InstanceType<typeof Permission> }>((props) => {
37
38
  const encryptionDefault = new Bucket_ServerSideEncryptionByDefault({ SSEAlgorithm: "AES256" });
38
39
  const encryptionRule = new Bucket_ServerSideEncryptionRule({
@@ -12,6 +12,7 @@ export interface LambdaSnsProps extends LambdaFunctionProps {
12
12
  };
13
13
  }
14
14
 
15
+ /** A Lambda function subscribed to an SNS topic. */
15
16
  export const LambdaSns = Composite((props: LambdaSnsProps) => {
16
17
  const { defaults } = props;
17
18
  const { role, func } = LambdaFunction(props);
@@ -14,6 +14,7 @@ export interface LambdaSqsProps extends LambdaFunctionProps {
14
14
  };
15
15
  }
16
16
 
17
+ /** A Lambda function fed by an SQS queue through an event source mapping. */
17
18
  export const LambdaSqs = Composite((props: LambdaSqsProps) => {
18
19
  const { defaults } = props;
19
20
 
@@ -114,6 +114,7 @@ export type RegionRestrictionResult = {
114
114
  scpRegionRestriction: InstanceType<typeof OrganizationsPolicy>;
115
115
  };
116
116
 
117
+ /** A service control policy that denies requests outside the listed regions. */
117
118
  export const RegionRestriction = Composite<RegionRestrictionProps, RegionRestrictionResult>((props) => {
118
119
  const policy = regionRestriction(props.regions);
119
120
  const scpRegionRestriction = new OrganizationsPolicy({
@@ -139,6 +140,7 @@ export type OrganizationTrailResult = {
139
140
  trail: InstanceType<typeof Trail>;
140
141
  };
141
142
 
143
+ /** An organization-wide CloudTrail trail. */
142
144
  export const OrganizationTrail = Composite<OrganizationTrailProps, OrganizationTrailResult>((props) => {
143
145
  const trail = new Trail({
144
146
  IsLogging: true,
@@ -21,6 +21,7 @@ export interface MinimalVpcProps {
21
21
  };
22
22
  }
23
23
 
24
+ /** A VPC with one public subnet, an internet gateway, a public route and a security group. */
24
25
  export const MinimalVpc = Composite((props: MinimalVpcProps) => {
25
26
  const { defaults } = props;
26
27
  const cidr = props.cidr ?? "10.0.0.0/24";
@@ -46,6 +46,7 @@ export interface NlbServiceProps {
46
46
  };
47
47
  }
48
48
 
49
+ /** A Network Load Balancer with a target group and listener. */
49
50
  export const NlbService = Composite((props: NlbServiceProps) => {
50
51
  if (props.protocol === "TLS" && !props.certificateArn) {
51
52
  throw new Error("NlbService requires certificateArn when protocol is TLS");
@@ -76,6 +76,7 @@ export interface RdsInstanceProps {
76
76
  };
77
77
  }
78
78
 
79
+ /** An RDS database instance with its subnet group, parameter group and security group, defaulting to PostgreSQL. */
79
80
  export const RdsInstance = Composite((props: RdsInstanceProps) => {
80
81
  const engine = props.engine ?? "postgres";
81
82
  const defaults = ENGINE_DEFAULTS.get(engine)!;
@@ -13,6 +13,7 @@ export interface ScheduledLambdaProps extends LambdaFunctionProps {
13
13
  };
14
14
  }
15
15
 
16
+ /** A Lambda function run on a schedule by an EventBridge rule. */
16
17
  export const LambdaScheduled = Composite((props: ScheduledLambdaProps) => {
17
18
  const { defaults } = props;
18
19
  const { role, func } = LambdaFunction(props);
@@ -15,6 +15,8 @@ export interface SolrFargateServiceProps extends FargateServiceProps {
15
15
  }
16
16
 
17
17
  /**
18
+ * A FargateService preset for Apache Solr, with JVM heap and GC settings.
19
+ *
18
20
  * A pass-through composite: it returns another composite's instance rather than
19
21
  * building a members record. `CompositeFactoryMembers` admits that explicitly
20
22
  * (#1366) — it works at runtime because a composite instance keeps `members`
@@ -75,6 +75,7 @@ export interface StepFunctionsWorkflowProps {
75
75
  };
76
76
  }
77
77
 
78
+ /** A Step Functions state machine with its execution role and a log group. */
78
79
  export const StepFunctionsWorkflow = Composite((props: StepFunctionsWorkflowProps) => {
79
80
  const { defaults } = props;
80
81
 
@@ -60,6 +60,7 @@ export type VpcDefaultResult = {
60
60
  privateRta3?: InstanceType<typeof SubnetRouteTableAssociation>;
61
61
  };
62
62
 
63
+ /** A VPC across two or three availability zones with public and private subnets, an internet gateway, a NAT gateway and their route tables. */
63
64
  export const VpcDefault = Composite<VpcDefaultProps, VpcDefaultResult>((props) => {
64
65
  const { defaults: defs } = props;
65
66
  const cidr = props.cidr ?? "10.0.0.0/16";
package/src/plugin.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { compositeCatalog } from "./composites/catalog";
1
2
  import { createRequire } from "module";
2
3
  import { awsBehaviourKinds } from "./behaviour-kinds";
3
4
  import { detectTemplate } from "./detect";
@@ -971,6 +972,10 @@ aws cloudformation wait stack-update-complete --stack-name my-app-prod`,
971
972
  return merged;
972
973
  },
973
974
 
975
+ composites() {
976
+ return compositeCatalog;
977
+ },
978
+
974
979
  mcpTools() {
975
980
  return [
976
981
  {