@intentius/chant-lexicon-aws 0.46.0 → 0.49.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.
- package/dist/api/read-client.d.ts +10 -2
- package/dist/api/read-client.d.ts.map +1 -1
- package/dist/composites/agentcore-agent.d.ts +26 -1
- package/dist/composites/agentcore-agent.d.ts.map +1 -1
- package/dist/composites/bucket-deployment.d.ts +82 -0
- package/dist/composites/bucket-deployment.d.ts.map +1 -0
- package/dist/composites/dynamodb-table.d.ts +45 -0
- package/dist/composites/dynamodb-table.d.ts.map +1 -0
- package/dist/composites/ec2-instance-bundle.d.ts +61 -0
- package/dist/composites/ec2-instance-bundle.d.ts.map +1 -0
- package/dist/composites/ecr-repository.d.ts +49 -0
- package/dist/composites/ecr-repository.d.ts.map +1 -0
- package/dist/composites/fargate-service.d.ts +16 -0
- package/dist/composites/fargate-service.d.ts.map +1 -1
- package/dist/composites/index.d.ts +16 -2
- package/dist/composites/index.d.ts.map +1 -1
- package/dist/composites/monitoring-stack.d.ts +99 -0
- package/dist/composites/monitoring-stack.d.ts.map +1 -0
- package/dist/composites/nlb-service.d.ts +48 -0
- package/dist/composites/nlb-service.d.ts.map +1 -0
- package/dist/composites/step-functions-workflow.d.ts +36 -0
- package/dist/composites/step-functions-workflow.d.ts.map +1 -0
- package/dist/deep-observe.d.ts +45 -0
- package/dist/deep-observe.d.ts.map +1 -1
- package/dist/deep-topology.d.ts +104 -0
- package/dist/deep-topology.d.ts.map +1 -0
- package/dist/effect-receipt-row.d.ts +92 -0
- package/dist/effect-receipt-row.d.ts.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/integrity.json +7 -4
- package/dist/lint/audit-catalog.d.ts.map +1 -1
- package/dist/lint/post-synth/cf-refs.d.ts +17 -0
- package/dist/lint/post-synth/cf-refs.d.ts.map +1 -1
- package/dist/lint/post-synth/index.d.ts.map +1 -1
- package/dist/lint/post-synth/waw061.d.ts +19 -0
- package/dist/lint/post-synth/waw061.d.ts.map +1 -0
- package/dist/lint/post-synth/waw062.d.ts +19 -0
- package/dist/lint/post-synth/waw062.d.ts.map +1 -0
- package/dist/lint/post-synth/waw063.d.ts +35 -0
- package/dist/lint/post-synth/waw063.d.ts.map +1 -0
- package/dist/manifest.json +1 -1
- package/dist/okf/index.md +3 -0
- package/dist/okf/rules/WAW061.md +17 -0
- package/dist/okf/rules/WAW062.md +27 -0
- package/dist/okf/rules/WAW063.md +19 -0
- package/dist/okf/types/Action.md +1 -0
- package/dist/okf/types/AutoScalingGroup.md +1 -0
- package/dist/okf/types/Bucket.md +1 -0
- package/dist/okf/types/ECRRepository.md +1 -0
- package/dist/okf/types/Function.md +1 -0
- package/dist/okf/types/IamPolicy.md +1 -0
- package/dist/okf/types/LaunchTemplate.md +1 -0
- package/dist/okf/types/LoadBalancer.md +1 -0
- package/dist/okf/types/ManagedPolicy.md +2 -0
- package/dist/okf/types/Map.md +1 -0
- package/dist/okf/types/Role.md +2 -0
- package/dist/okf/types/SecurityGroup.md +1 -0
- package/dist/okf/types/StateMachine.md +4 -0
- package/dist/okf/types/Subnet.md +4 -0
- package/dist/okf/types/Table.md +1 -0
- package/dist/okf/types/Type.md +3 -0
- package/dist/okf/types/Vpc.md +1 -0
- package/dist/op/activities/index.d.ts +6 -0
- package/dist/op/activities/index.d.ts.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/receipt-store.d.ts +109 -0
- package/dist/receipt-store.d.ts.map +1 -0
- package/dist/rules/cf-refs.ts +40 -0
- package/dist/rules/waw061.ts +67 -0
- package/dist/rules/waw062.ts +0 -0
- package/dist/rules/waw063.ts +0 -0
- package/dist/serializer.d.ts.map +1 -1
- package/dist/skills/chant-aws-carve-terraform.md +26 -23
- package/package.json +3 -3
- package/src/api/read-client.test.ts +9 -0
- package/src/api/read-client.ts +15 -2
- package/src/composites/agentcore-agent.ts +35 -13
- package/src/composites/bucket-deployment.test.ts +84 -0
- package/src/composites/bucket-deployment.ts +153 -0
- package/src/composites/composites.test.ts +325 -0
- package/src/composites/dynamodb-table.test.ts +154 -0
- package/src/composites/dynamodb-table.ts +124 -0
- package/src/composites/ec2-instance-bundle.ts +134 -0
- package/src/composites/ecr-repository.test.ts +118 -0
- package/src/composites/ecr-repository.ts +117 -0
- package/src/composites/fargate-service.ts +19 -3
- package/src/composites/index.ts +21 -2
- package/src/composites/monitoring-stack.test.ts +130 -0
- package/src/composites/monitoring-stack.ts +164 -0
- package/src/composites/nlb-service.ts +117 -0
- package/src/composites/step-functions-workflow.ts +127 -0
- package/src/deep-observe.test.ts +201 -1
- package/src/deep-observe.ts +204 -0
- package/src/deep-topology.test.ts +392 -0
- package/src/deep-topology.ts +237 -0
- package/src/effect-receipt-row.test.ts +164 -0
- package/src/effect-receipt-row.ts +147 -0
- package/src/index.ts +28 -7
- package/src/lint/audit-catalog.ts +6 -0
- package/src/lint/post-synth/cf-refs.ts +40 -0
- package/src/lint/post-synth/index.ts +6 -0
- package/src/lint/post-synth/waw061.test.ts +99 -0
- package/src/lint/post-synth/waw061.ts +67 -0
- package/src/lint/post-synth/waw062.test.ts +109 -0
- package/src/lint/post-synth/waw062.ts +0 -0
- package/src/lint/post-synth/waw063.test.ts +220 -0
- package/src/lint/post-synth/waw063.ts +0 -0
- package/src/op/activities/index.ts +15 -0
- package/src/plugin.ts +41 -10
- package/src/receipt-store.test.ts +204 -0
- package/src/receipt-store.ts +315 -0
- package/src/serializer.ts +105 -2
- package/src/skills/chant-aws-carve-terraform.md +26 -23
|
@@ -171,6 +171,14 @@ export interface CloudControlDescription {
|
|
|
171
171
|
export declare function parseResourceDescription(raw: unknown): CloudControlDescription | null;
|
|
172
172
|
/** `GetResource` — the full live model for one identifier. */
|
|
173
173
|
export declare function getResource(typeName: string, identifier: string, options?: AwsReadClientOptions): Promise<CloudControlDescription | null>;
|
|
174
|
-
/**
|
|
175
|
-
|
|
174
|
+
/**
|
|
175
|
+
* `ListResources` — every live resource of one type, paginated to exhaustion.
|
|
176
|
+
*
|
|
177
|
+
* `resourceModel` is Cloud Control's `ResourceModel`: the scope a child-typed
|
|
178
|
+
* listing requires (`{ RoleName }` for `AWS::IAM::RolePolicy`,
|
|
179
|
+
* `{ TopicArn }` for `AWS::SNS::Subscription`). The API takes it as a JSON
|
|
180
|
+
* *string*, the same double encoding `GetResource` answers with; this takes
|
|
181
|
+
* the object and encodes it so no caller repeats that detail.
|
|
182
|
+
*/
|
|
183
|
+
export declare function listResources(typeName: string, options?: AwsReadClientOptions, resourceModel?: Record<string, unknown>): Promise<CloudControlDescription[]>;
|
|
176
184
|
//# sourceMappingURL=read-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-client.d.ts","sourceRoot":"","sources":["../../src/api/read-client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"read-client.d.ts","sourceRoot":"","sources":["../../src/api/read-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,31 @@ import { type SubIntrinsic } from "../intrinsics.js";
|
|
|
16
16
|
* `arn:aws:bedrock-agentcore:<region>:<account>:runtime/<id>/runtime-endpoint/<name>`.
|
|
17
17
|
*/
|
|
18
18
|
export declare function agentCoreDefaultEndpointArn(runtime: InstanceType<typeof Runtime>): SubIntrinsic;
|
|
19
|
+
/**
|
|
20
|
+
* Bedrock AgentCore's real limits, verified against the CloudFormation
|
|
21
|
+
* registry schema for `AWS::BedrockAgentCore::{Runtime,RuntimeEndpoint,Memory}`
|
|
22
|
+
* (#882).
|
|
23
|
+
*
|
|
24
|
+
* Exported for the same reason as `MICROVM_LIMITS` (#1374, #1420): a
|
|
25
|
+
* consumer driving AgentCore through another control plane needs the same
|
|
26
|
+
* numbers, and copying them is how two sources of truth start.
|
|
27
|
+
*/
|
|
28
|
+
export declare const AGENTCORE_LIMITS: {
|
|
29
|
+
/**
|
|
30
|
+
* `Runtime`/`RuntimeEndpoint`/`Memory` `Name`/`AgentRuntimeName` fields
|
|
31
|
+
* are bound to this pattern — no hyphens, unlike chant's usual kebab-case
|
|
32
|
+
* component names. `Gateway`/`GatewayTarget`/`WorkloadIdentity` names
|
|
33
|
+
* accept hyphens, so only the Runtime family needs sanitizing.
|
|
34
|
+
*/
|
|
35
|
+
readonly runtimeNamePattern: RegExp;
|
|
36
|
+
readonly maxRuntimeNameLength: 48;
|
|
37
|
+
/** `Memory` event retention bounds, in days. */
|
|
38
|
+
readonly memoryEventExpiryDays: {
|
|
39
|
+
readonly min: 3;
|
|
40
|
+
readonly max: 365;
|
|
41
|
+
readonly default: 30;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
19
44
|
/**
|
|
20
45
|
* Managed-runtime code artifact — the S3-zip alternative to `containerUri`.
|
|
21
46
|
* Mirrors CFN `Runtime.CodeConfiguration`: AgentCore runs a zipped agent on
|
|
@@ -72,7 +97,7 @@ export interface AgentCoreAgentProps {
|
|
|
72
97
|
* managed one and fails on a real apply (#978, see the composite doc).
|
|
73
98
|
*/
|
|
74
99
|
endpointName?: string;
|
|
75
|
-
/** Memory event retention, in days.
|
|
100
|
+
/** Memory event retention, in days. Bounds: {@link AGENTCORE_LIMITS.memoryEventExpiryDays}. */
|
|
76
101
|
memoryEventExpiryDays?: number;
|
|
77
102
|
/** Gateway authorizer. Mirrors the generated `BedrockAgentCoreGateway_AuthorizerType` CFN enum. Default: "AWS_IAM". */
|
|
78
103
|
gatewayAuthorizerType?: "CUSTOM_JWT" | "AWS_IAM" | "NONE" | "AUTHENTICATE_ONLY";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentcore-agent.d.ts","sourceRoot":"","sources":["../../src/composites/agentcore-agent.ts"],"names":[],"mappings":"AACA,OAAO,EACL,IAAI,EACJ,WAAW,EACX,OAAO,EAOP,eAAe,EACf,MAAM,EACN,uBAAuB,EACvB,aAAa,EACb,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,GACb,aAAa,CAAC;AAElB,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,YAAY,CAAC,OAAO,OAAO,CAAC,GAAG,YAAY,CAE/F;
|
|
1
|
+
{"version":3,"file":"agentcore-agent.d.ts","sourceRoot":"","sources":["../../src/composites/agentcore-agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BucketDeployment — the seeded-bucket shape: an S3 bucket sized to receive
|
|
3
|
+
* deploy-time content, encrypted and access-blocked by default, its
|
|
4
|
+
* deletion behaviour and (optionally) its public-read policy declared up
|
|
5
|
+
* front rather than left to CloudFormation's own defaults.
|
|
6
|
+
*
|
|
7
|
+
* `s3deploy.BucketDeployment` is the most-used CDK pattern across the
|
|
8
|
+
* aws-bench corpus (37 instantiations across 8 apps, chant#1139) and it
|
|
9
|
+
* names two things CDK bundles together that chant keeps apart on purpose:
|
|
10
|
+
*
|
|
11
|
+
* - The bucket itself: `AWS::S3::Bucket` plus its encryption, access-block
|
|
12
|
+
* and (for the static-site shape) website/public-policy configuration.
|
|
13
|
+
* That is a fixed set of CloudFormation resources, so it is what this
|
|
14
|
+
* composite declares — the same shape `LambdaS3` (../composites) already
|
|
15
|
+
* gives a bucket, minus the Lambda trigger wiring.
|
|
16
|
+
* - Uploading local files into it at deploy time. CDK does this with a
|
|
17
|
+
* Lambda-backed custom resource (`cr.AwsCustomResource`, the same family
|
|
18
|
+
* the epic notes maps to chant Ops rather than composites — chant has no
|
|
19
|
+
* CloudFormation custom-resource machinery, and inventing one just to
|
|
20
|
+
* reproduce a `PutObject` loop would be new plumbing for a solved
|
|
21
|
+
* problem). chant already ships this as a deploy-time **capability**,
|
|
22
|
+
* `s3-sync` (`../components/apply.ts`'s `createS3SyncCapability`, backed
|
|
23
|
+
* by the real `aws s3 sync`/`aws s3 cp` CLI through `CloudExecutor`, with
|
|
24
|
+
* the typed step-builder `s3Sync` in `../components/builders.ts`) — it
|
|
25
|
+
* was defined for exactly this and, before this composite, had no
|
|
26
|
+
* composite pairing it with a bucket to sync into. A component composes
|
|
27
|
+
* the two:
|
|
28
|
+
*
|
|
29
|
+
* const seeded = BucketDeployment({ bucketName: Sub`${AWS.StackName}-site` });
|
|
30
|
+
* // ...component `deploy` phase:
|
|
31
|
+
* s3Sync({ from: "archive:site-build", to: Sub`s3://${seeded.bucket.Ref}` })
|
|
32
|
+
*
|
|
33
|
+
* That split — graph-time declaration here, deploy-time action in the
|
|
34
|
+
* component layer — is the existing precedent (`s3-sync` shipped in #566
|
|
35
|
+
* unused by any composite until this one), not a new one invented for this
|
|
36
|
+
* composite.
|
|
37
|
+
*
|
|
38
|
+
* "Cleanup" (the epic's third word) is `removalPolicy`, CloudFormation's own
|
|
39
|
+
* `DeletionPolicy` on the bucket resource. CDK's `autoDeleteObjects` — the
|
|
40
|
+
* Lambda-backed hook that empties a bucket before CloudFormation is allowed
|
|
41
|
+
* to delete it — has the same custom-resource shape as content upload and
|
|
42
|
+
* the same answer: out of scope here, and worth an `s3 rm --recursive`
|
|
43
|
+
* step ahead of a stack teardown in the component that owns the deploy.
|
|
44
|
+
*/
|
|
45
|
+
import { type Value } from "@intentius/chant";
|
|
46
|
+
import { Bucket, S3BucketPolicy } from "../generated/index.js";
|
|
47
|
+
export interface BucketDeploymentProps {
|
|
48
|
+
/** `Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366). Omitted lets CloudFormation generate one. */
|
|
49
|
+
bucketName?: Value<string>;
|
|
50
|
+
/** Enable S3 object versioning. Default: false. */
|
|
51
|
+
versioned?: boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Static-website hosting: sets `WebsiteConfiguration` and — since a
|
|
54
|
+
* website bucket is read by anonymous visitors, not IAM principals —
|
|
55
|
+
* opens the public-access block and attaches a public-read
|
|
56
|
+
* `S3BucketPolicy` scoped to `s3:GetObject`. Omitted, the bucket stays
|
|
57
|
+
* fully private, matching every other composite bucket's default
|
|
58
|
+
* (`LambdaS3`, ../composites).
|
|
59
|
+
*/
|
|
60
|
+
website?: {
|
|
61
|
+
indexDocument: string;
|
|
62
|
+
errorDocument?: string;
|
|
63
|
+
};
|
|
64
|
+
/** What CloudFormation does to the bucket when the stack (or the resource) is removed. Default: "retain" — CloudFormation's own default, and the safe one for a bucket a deploy has just put content into. */
|
|
65
|
+
removalPolicy?: "retain" | "destroy";
|
|
66
|
+
tags?: Array<{
|
|
67
|
+
Key: string;
|
|
68
|
+
Value: string;
|
|
69
|
+
}>;
|
|
70
|
+
defaults?: {
|
|
71
|
+
bucket?: Partial<ConstructorParameters<typeof Bucket>[0]>;
|
|
72
|
+
bucketPolicy?: Partial<ConstructorParameters<typeof S3BucketPolicy>[0]>;
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
export type BucketDeploymentResult = {
|
|
76
|
+
bucket: InstanceType<typeof Bucket>;
|
|
77
|
+
} | {
|
|
78
|
+
bucket: InstanceType<typeof Bucket>;
|
|
79
|
+
bucketPolicy: InstanceType<typeof S3BucketPolicy>;
|
|
80
|
+
};
|
|
81
|
+
export declare const BucketDeployment: import("@intentius/chant").CompositeDefinition<BucketDeploymentProps, import("@intentius/chant").CompositeMembers>;
|
|
82
|
+
//# sourceMappingURL=bucket-deployment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bucket-deployment.d.ts","sourceRoot":"","sources":["../../src/composites/bucket-deployment.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,EAA4B,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,MAAM,EAON,cAAc,EACf,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,qBAAqB;IACpC,qHAAqH;IACrH,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,8MAA8M;IAC9M,aAAa,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACrC,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,YAAY,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACzE,CAAC;CACH;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,MAAM,EAAE,YAAY,CAAC,OAAO,MAAM,CAAC,CAAA;CAAE,GACvC;IAAE,MAAM,EAAE,YAAY,CAAC,OAAO,MAAM,CAAC,CAAC;IAAC,YAAY,EAAE,YAAY,CAAC,OAAO,cAAc,CAAC,CAAA;CAAE,CAAC;AAE/F,eAAO,MAAM,gBAAgB,oHAiEP,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type Value } from "@intentius/chant";
|
|
2
|
+
import { Table } from "../generated/index.js";
|
|
3
|
+
export interface DynamoDBKey {
|
|
4
|
+
name: string;
|
|
5
|
+
type?: "S" | "N" | "B";
|
|
6
|
+
}
|
|
7
|
+
export interface DynamoDBCapacity {
|
|
8
|
+
readCapacity: number;
|
|
9
|
+
writeCapacity: number;
|
|
10
|
+
}
|
|
11
|
+
export interface DynamoDBGlobalSecondaryIndex {
|
|
12
|
+
name: string;
|
|
13
|
+
partitionKey: DynamoDBKey;
|
|
14
|
+
sortKey?: DynamoDBKey;
|
|
15
|
+
/** Defaults to "ALL" — projecting the whole item is the common case; narrow it deliberately. */
|
|
16
|
+
projectionType?: "ALL" | "KEYS_ONLY" | "INCLUDE";
|
|
17
|
+
/** Only meaningful with projectionType "INCLUDE". */
|
|
18
|
+
nonKeyAttributes?: string[];
|
|
19
|
+
/** PROVISIONED tables only. Falls back to the table's own capacity when a GSI doesn't need its own. */
|
|
20
|
+
provisionedThroughput?: DynamoDBCapacity;
|
|
21
|
+
}
|
|
22
|
+
export interface DynamoDBTableProps {
|
|
23
|
+
/** `Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366). */
|
|
24
|
+
tableName?: Value<string>;
|
|
25
|
+
partitionKey: DynamoDBKey;
|
|
26
|
+
sortKey?: DynamoDBKey;
|
|
27
|
+
/** Defaults to "PAY_PER_REQUEST" — the recommended default for most workloads (matches LambdaDynamoDB). */
|
|
28
|
+
billingMode?: "PAY_PER_REQUEST" | "PROVISIONED";
|
|
29
|
+
/** Required when billingMode is "PROVISIONED"; ignored otherwise. Falls back to 5/5 (the DynamoDB console default) if omitted. */
|
|
30
|
+
provisionedThroughput?: DynamoDBCapacity;
|
|
31
|
+
globalSecondaryIndexes?: DynamoDBGlobalSecondaryIndex[];
|
|
32
|
+
/** Attribute name that carries the expiry timestamp. Enables TimeToLiveSpecification when set. */
|
|
33
|
+
ttlAttribute?: string;
|
|
34
|
+
/** Enables StreamSpecification. `true` defaults to NEW_AND_OLD_IMAGES (the shape most stream consumers want). */
|
|
35
|
+
stream?: boolean | {
|
|
36
|
+
viewType?: "NEW_IMAGE" | "OLD_IMAGE" | "NEW_AND_OLD_IMAGES" | "KEYS_ONLY";
|
|
37
|
+
};
|
|
38
|
+
defaults?: {
|
|
39
|
+
table?: Partial<ConstructorParameters<typeof Table>[0]>;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export declare const DynamoDBTable: import("@intentius/chant").CompositeDefinition<DynamoDBTableProps, {
|
|
43
|
+
table: import("@intentius/chant").Declarable & Record<string, string>;
|
|
44
|
+
}>;
|
|
45
|
+
//# sourceMappingURL=dynamodb-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamodb-table.d.ts","sourceRoot":"","sources":["../../src/composites/dynamodb-table.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,KAAK,EAQN,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,gGAAgG;IAChG,cAAc,CAAC,EAAE,KAAK,GAAG,WAAW,GAAG,SAAS,CAAC;IACjD,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,uGAAuG;IACvG,qBAAqB,CAAC,EAAE,gBAAgB,CAAC;CAC1C;AAED,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,YAAY,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,2GAA2G;IAC3G,WAAW,CAAC,EAAE,iBAAiB,GAAG,aAAa,CAAC;IAChD,kIAAkI;IAClI,qBAAqB,CAAC,EAAE,gBAAgB,CAAC;IACzC,sBAAsB,CAAC,EAAE,4BAA4B,EAAE,CAAC;IACxD,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iHAAiH;IACjH,MAAM,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,oBAAoB,GAAG,WAAW,CAAA;KAAE,CAAC;IACjG,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACzD,CAAC;CACH;AAqBD,eAAO,MAAM,aAAa;;EAmDP,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Instance, InstanceProfile, Role, SecurityGroup } from "../generated/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* One inbound rule for the instance's security group. Exactly one of `cidr`,
|
|
4
|
+
* `cidrIpv6`, or `sourceSecurityGroupId` selects the traffic source — the same
|
|
5
|
+
* constraint CloudFormation enforces on `AWS::EC2::SecurityGroup.Ingress`.
|
|
6
|
+
*/
|
|
7
|
+
export interface Ec2InstanceBundleIngressRule {
|
|
8
|
+
/** Starting port (or the only port, when `toPort` is omitted). */
|
|
9
|
+
fromPort: number;
|
|
10
|
+
/** Ending port of the range. Defaults to `fromPort` (a single port). */
|
|
11
|
+
toPort?: number;
|
|
12
|
+
/** IP protocol. Default: `"tcp"`. */
|
|
13
|
+
protocol?: string;
|
|
14
|
+
/** IPv4 CIDR source. */
|
|
15
|
+
cidr?: string;
|
|
16
|
+
/** IPv6 CIDR source. */
|
|
17
|
+
cidrIpv6?: string;
|
|
18
|
+
/** Security-group source (allow traffic from another SG rather than a CIDR). */
|
|
19
|
+
sourceSecurityGroupId?: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface Ec2InstanceBundleProps {
|
|
23
|
+
/** AMI id to launch. */
|
|
24
|
+
imageId: string;
|
|
25
|
+
/** VPC the instance and its security group live in. */
|
|
26
|
+
vpcId: string;
|
|
27
|
+
/** Subnet the instance launches into — fixes its AZ and public/private placement. */
|
|
28
|
+
subnetId: string;
|
|
29
|
+
/** EC2 instance type. Default: `"t3.micro"`. */
|
|
30
|
+
instanceType?: string;
|
|
31
|
+
/** SSH key pair name. Omit for keyless access (e.g. SSM Session Manager only). */
|
|
32
|
+
keyName?: string;
|
|
33
|
+
/** Plain-text user-data script; wrapped in `Fn::Base64` for the instance. */
|
|
34
|
+
userData?: string;
|
|
35
|
+
/** Inbound security-group rules. Default: none (no inbound traffic). */
|
|
36
|
+
ingress?: Ec2InstanceBundleIngressRule[];
|
|
37
|
+
/** IAM managed policy ARNs attached to the instance role. */
|
|
38
|
+
ManagedPolicyArns?: string[];
|
|
39
|
+
/** Inline IAM policies attached to the instance role. */
|
|
40
|
+
Policies?: ConstructorParameters<typeof Role>[0]["Policies"];
|
|
41
|
+
defaults?: {
|
|
42
|
+
role?: Partial<ConstructorParameters<typeof Role>[0]>;
|
|
43
|
+
instanceProfile?: Partial<ConstructorParameters<typeof InstanceProfile>[0]>;
|
|
44
|
+
sg?: Partial<ConstructorParameters<typeof SecurityGroup>[0]>;
|
|
45
|
+
instance?: Partial<ConstructorParameters<typeof Instance>[0]>;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* EC2 instance bundle — instance + security group + role/profile + subnet
|
|
50
|
+
* placement, the hand-rolled unit the aws-bench corpus showed 25 times
|
|
51
|
+
* (`ec2.Instance`) alongside 79 `ec2.SecurityGroup` instantiations (#1139).
|
|
52
|
+
* `Ec2InstanceRole` already covers the role/profile half; this composite adds
|
|
53
|
+
* the instance and its security group, wired to that same role.
|
|
54
|
+
*/
|
|
55
|
+
export declare const Ec2InstanceBundle: import("@intentius/chant").CompositeDefinition<Ec2InstanceBundleProps, {
|
|
56
|
+
role: import("@intentius/chant").Declarable & Record<string, string>;
|
|
57
|
+
instanceProfile: import("@intentius/chant").Declarable & Record<string, string>;
|
|
58
|
+
sg: import("@intentius/chant").Declarable & Record<string, string>;
|
|
59
|
+
instance: import("@intentius/chant").Declarable & Record<string, string>;
|
|
60
|
+
}>;
|
|
61
|
+
//# sourceMappingURL=ec2-instance-bundle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ec2-instance-bundle.d.ts","sourceRoot":"","sources":["../../src/composites/ec2-instance-bundle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAyB,MAAM,cAAc,CAAC;AAcrG;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAC3C,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,qFAAqF;IACrF,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,OAAO,CAAC,EAAE,4BAA4B,EAAE,CAAC;IACzC,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,EAAE,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC7D,QAAQ,CAAC,EAAE;QACT,IAAI,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,eAAe,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,EAAE,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/D,CAAC;CACH;AAiBD;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;EAgDP,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type Value } from "@intentius/chant";
|
|
2
|
+
import { ECRRepository } from "../generated/index.js";
|
|
3
|
+
export interface EcrLifecycleRule {
|
|
4
|
+
/** Rules are evaluated in ascending priority order; each image is matched by exactly one rule. */
|
|
5
|
+
rulePriority: number;
|
|
6
|
+
description?: string;
|
|
7
|
+
/** Defaults to "any" — matches every image regardless of tag state. */
|
|
8
|
+
tagStatus?: "tagged" | "untagged" | "any";
|
|
9
|
+
/** Only meaningful with tagStatus "tagged". */
|
|
10
|
+
tagPrefixList?: string[];
|
|
11
|
+
/** Only meaningful with tagStatus "tagged". */
|
|
12
|
+
tagPatternList?: string[];
|
|
13
|
+
countType: "imageCountMoreThan" | "sinceImagePushed";
|
|
14
|
+
/** Required (and only meaningful) with countType "sinceImagePushed". */
|
|
15
|
+
countUnit?: "days";
|
|
16
|
+
countNumber: number;
|
|
17
|
+
}
|
|
18
|
+
export interface EcrEncryption {
|
|
19
|
+
/** Defaults to "AES256" (Amazon S3-managed keys) when this block is provided without a type. */
|
|
20
|
+
type?: "AES256" | "KMS" | "KMS_DSSE";
|
|
21
|
+
/** KMS/KMS_DSSE only. Falls back to the default AWS-managed ECR key when omitted. */
|
|
22
|
+
kmsKeyId?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface EcrRepositoryProps {
|
|
25
|
+
/** `Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366). Omitted, CloudFormation generates one. */
|
|
26
|
+
repositoryName?: Value<string>;
|
|
27
|
+
imageTagMutability?: "MUTABLE" | "IMMUTABLE" | "MUTABLE_WITH_EXCLUSION" | "IMMUTABLE_WITH_EXCLUSION";
|
|
28
|
+
/** Defaults to true — scanning freshly pushed images is the safe default for a new repository. */
|
|
29
|
+
scanOnPush?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Lifecycle rules, evaluated in `rulePriority` order and rendered into the repository's
|
|
32
|
+
* `LifecyclePolicyText`. Defaults to a single "expire untagged images after 14 days" rule
|
|
33
|
+
* -- AWS's own starter policy -- when omitted. Pass `[]` to ship the repository with no
|
|
34
|
+
* lifecycle policy at all.
|
|
35
|
+
*/
|
|
36
|
+
lifecycleRules?: EcrLifecycleRule[];
|
|
37
|
+
encryption?: EcrEncryption;
|
|
38
|
+
/** If true, deleting the repository force-deletes its contents instead of requiring it to be empty first. */
|
|
39
|
+
emptyOnDelete?: boolean;
|
|
40
|
+
/** JSON repository policy document (cross-account pull access, etc). */
|
|
41
|
+
repositoryPolicy?: Record<string, unknown>;
|
|
42
|
+
defaults?: {
|
|
43
|
+
repository?: Partial<ConstructorParameters<typeof ECRRepository>[0]>;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export declare const EcrRepository: import("@intentius/chant").CompositeDefinition<EcrRepositoryProps, {
|
|
47
|
+
repository: import("@intentius/chant").Declarable & Record<string, string>;
|
|
48
|
+
}>;
|
|
49
|
+
//# sourceMappingURL=ecr-repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ecr-repository.d.ts","sourceRoot":"","sources":["../../src/composites/ecr-repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,aAAa,EAId,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,gBAAgB;IAC/B,kGAAkG;IAClG,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,SAAS,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC;IAC1C,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,oBAAoB,GAAG,kBAAkB,CAAC;IACrD,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,gGAAgG;IAChG,IAAI,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC;IACrC,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,kHAAkH;IAClH,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,kBAAkB,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,wBAAwB,GAAG,0BAA0B,CAAC;IACrG,kGAAkG;IAClG,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACpC,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,6GAA6G;IAC7G,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACtE,CAAC;CACH;AAuCD,eAAO,MAAM,aAAa;;EAyBP,CAAC"}
|
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
import { type Value } from "@intentius/chant";
|
|
2
2
|
import { EcsService, TaskDefinition, TaskDefinition_MountPoint, TargetGroup, Role, Role_Policy } from "../generated/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* The ALB `ListenerRule`'s real `Priority` bounds (documented on
|
|
5
|
+
* `elasticloadbalancing:CreateRule`, and enforced the same way for a
|
|
6
|
+
* CloudFormation-managed rule) — not an opinion this composite holds.
|
|
7
|
+
*
|
|
8
|
+
* Exported for the same reason as `MICROVM_LIMITS` (#1374, #1420): a
|
|
9
|
+
* consumer routing to the same shared ALB through another control plane
|
|
10
|
+
* needs the same numbers, and copying them is how two sources of truth
|
|
11
|
+
* start.
|
|
12
|
+
*/
|
|
13
|
+
export declare const FARGATE_SERVICE_LIMITS: {
|
|
14
|
+
readonly priority: {
|
|
15
|
+
readonly min: 1;
|
|
16
|
+
readonly max: 50000;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
3
19
|
export interface FargateServiceProps {
|
|
4
20
|
clusterArn: Value<string>;
|
|
5
21
|
listenerArn: Value<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fargate-service.d.ts","sourceRoot":"","sources":["../../src/composites/fargate-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,UAAU,EAIV,cAAc,EAEd,yBAAyB,EAOzB,WAAW,EASX,IAAI,EACJ,WAAW,EAKZ,MAAM,cAAc,CAAC;AAItB,MAAM,WAAW,mBAAmB;IAOlC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAGhC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAGvB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,yBAAyB,CAAC,EAAE,CAAC;IAC/D,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;KAC5C,CAAC,CAAC;IAGH,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAGxE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,EAAE,CAAC;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,WAAW,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAChE,CAAC;CACH;AAED,eAAO,MAAM,cAAc;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"fargate-service.d.ts","sourceRoot":"","sources":["../../src/composites/fargate-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EACL,UAAU,EAIV,cAAc,EAEd,yBAAyB,EAOzB,WAAW,EASX,IAAI,EACJ,WAAW,EAKZ,MAAM,cAAc,CAAC;AAItB;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB;;;;;CAEzB,CAAC;AAEX,MAAM,WAAW,mBAAmB;IAOlC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAGhC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAGvB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,WAAW,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,yBAAyB,CAAC,EAAE,CAAC;IAC/D,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;KAC5C,CAAC,CAAC;IAGH,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB,gBAAgB,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAGxE,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,EAAE,CAAC;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnE,WAAW,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAChE,CAAC;CACH;AAED,eAAO,MAAM,cAAc;;;;;;;;;;EAgPP,CAAC"}
|
|
@@ -12,6 +12,10 @@ export { LambdaEventBridge } from "./lambda-eventbridge.js";
|
|
|
12
12
|
export type { LambdaEventBridgeProps } from "./lambda-eventbridge.js";
|
|
13
13
|
export { LambdaDynamoDB } from "./lambda-dynamodb.js";
|
|
14
14
|
export type { LambdaDynamoDBProps } from "./lambda-dynamodb.js";
|
|
15
|
+
export { EcrRepository } from "./ecr-repository.js";
|
|
16
|
+
export type { EcrRepositoryProps, EcrLifecycleRule, EcrEncryption } from "./ecr-repository.js";
|
|
17
|
+
export { DynamoDBTable } from "./dynamodb-table.js";
|
|
18
|
+
export type { DynamoDBTableProps, DynamoDBKey, DynamoDBCapacity, DynamoDBGlobalSecondaryIndex, } from "./dynamodb-table.js";
|
|
15
19
|
export { LambdaS3 } from "./lambda-s3.js";
|
|
16
20
|
export type { LambdaS3Props } from "./lambda-s3.js";
|
|
17
21
|
export { LambdaSns } from "./lambda-sns.js";
|
|
@@ -22,8 +26,10 @@ export { FargateAlb } from "./fargate-alb.js";
|
|
|
22
26
|
export type { FargateAlbProps } from "./fargate-alb.js";
|
|
23
27
|
export { AlbShared } from "./alb-shared.js";
|
|
24
28
|
export type { AlbSharedProps } from "./alb-shared.js";
|
|
25
|
-
export { FargateService } from "./fargate-service.js";
|
|
29
|
+
export { FargateService, FARGATE_SERVICE_LIMITS } from "./fargate-service.js";
|
|
26
30
|
export type { FargateServiceProps } from "./fargate-service.js";
|
|
31
|
+
export { NlbService } from "./nlb-service.js";
|
|
32
|
+
export type { NlbServiceProps } from "./nlb-service.js";
|
|
27
33
|
export { RdsInstance, RdsInstance as RdsPostgres } from "./rds-instance.js";
|
|
28
34
|
export type { RdsInstanceProps, RdsInstanceProps as RdsPostgresProps } from "./rds-instance.js";
|
|
29
35
|
export { EfsWithAccessPoint } from "./efs-with-access-point.js";
|
|
@@ -32,12 +38,20 @@ export { SolrFargateService } from "./solr-fargate-service.js";
|
|
|
32
38
|
export type { SolrFargateServiceProps } from "./solr-fargate-service.js";
|
|
33
39
|
export { Ec2InstanceRole } from "./ec2-instance-role.js";
|
|
34
40
|
export type { Ec2InstanceRoleProps } from "./ec2-instance-role.js";
|
|
41
|
+
export { Ec2InstanceBundle } from "./ec2-instance-bundle.js";
|
|
42
|
+
export type { Ec2InstanceBundleProps, Ec2InstanceBundleIngressRule } from "./ec2-instance-bundle.js";
|
|
35
43
|
export { MinimalVpc } from "./minimal-vpc.js";
|
|
36
44
|
export type { MinimalVpcProps } from "./minimal-vpc.js";
|
|
37
45
|
export { EksCluster } from "./eks-cluster.js";
|
|
38
46
|
export type { EksClusterProps } from "./eks-cluster.js";
|
|
39
47
|
export { MicrovmApp, MICROVM_LIMITS } from "./microvm-app.js";
|
|
40
48
|
export type { MicrovmAppProps, MicrovmAppResult, MicrovmAppBuildConnectorProps, MicrovmMemoryMiB } from "./microvm-app.js";
|
|
41
|
-
export { AgentCoreAgent, agentCoreDefaultEndpointArn } from "./agentcore-agent.js";
|
|
49
|
+
export { AgentCoreAgent, agentCoreDefaultEndpointArn, AGENTCORE_LIMITS } from "./agentcore-agent.js";
|
|
42
50
|
export type { AgentCoreAgentProps, AgentCoreAgentResult } from "./agentcore-agent.js";
|
|
51
|
+
export { StepFunctionsWorkflow } from "./step-functions-workflow.js";
|
|
52
|
+
export type { StepFunctionsWorkflowProps } from "./step-functions-workflow.js";
|
|
53
|
+
export { MonitoringStack } from "./monitoring-stack.js";
|
|
54
|
+
export type { MonitoringStackProps, MonitoringMetricSpec } from "./monitoring-stack.js";
|
|
55
|
+
export { BucketDeployment } from "./bucket-deployment.js";
|
|
56
|
+
export type { BucketDeploymentProps, BucketDeploymentResult } from "./bucket-deployment.js";
|
|
43
57
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composites/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC9G,YAAY,EACV,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACvG,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/composites/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MonitoringStack — a CloudWatch dashboard wired to up to three named
|
|
3
|
+
* metrics, with an optional alarm per metric.
|
|
4
|
+
*
|
|
5
|
+
* The recurring hand-rolled shape the aws-bench corpus surfaced: a team
|
|
6
|
+
* stands up a `cloudwatch.Dashboard`, a `cloudwatch.Metric` per resource it
|
|
7
|
+
* cares about, and a near-identical `cloudwatch.Alarm` next to each one — 44
|
|
8
|
+
* combined dashboard+alarm+metric instantiations across the corpus' 8 real
|
|
9
|
+
* CDK apps, nothing equivalent shipped in chant (epic #1139).
|
|
10
|
+
*
|
|
11
|
+
* Fixed `metric1..metric3` slots, not a `metrics: MetricSpec[]` array — a
|
|
12
|
+
* loop building `Alarm` resources from an array is exactly the control-flow-
|
|
13
|
+
* over-resources shape EVL002/EVL003 rule out for reference composites (see
|
|
14
|
+
* `EksCluster`'s `addon1..addon3`, this directory). A fourth metric is a bare
|
|
15
|
+
* `Alarm` + a hand-edited `CwDashboard.DashboardBody` the estate declares
|
|
16
|
+
* directly.
|
|
17
|
+
*
|
|
18
|
+
* What is deliberately NOT here:
|
|
19
|
+
* - Notification wiring. `alarm.alarmActions` on each metric takes ARNs the
|
|
20
|
+
* caller already has (an SNS topic from `LambdaSns`, or hand-declared);
|
|
21
|
+
* this composite does not create a `Topic`/`Subscription` itself — who
|
|
22
|
+
* gets paged and on what channel is a real per-estate decision, not a
|
|
23
|
+
* default worth guessing. `defaults.alarm1..3` is the escape hatch for
|
|
24
|
+
* anything else on the alarm (e.g. `OKActions`, `DatapointsToAlarm`).
|
|
25
|
+
* - Math-expression / composite / anomaly-detection alarms (`Alarm.Metrics`,
|
|
26
|
+
* `AlarmModel`) — single-metric threshold alarms only.
|
|
27
|
+
* - Dynamic (`Ref`/`GetAtt`/`Sub`) values inside the dashboard body.
|
|
28
|
+
* `CwDashboard.DashboardBody` is one flat JSON string CloudFormation does
|
|
29
|
+
* not template, so each metric's `namespace`/`metricName`/`dimension.value`
|
|
30
|
+
* must be a literal the caller already knows — the physical name they set
|
|
31
|
+
* on the monitored resource, not one CloudFormation generates. The `Alarm`
|
|
32
|
+
* resources carry no such limit: `Dimensions` is a real structured
|
|
33
|
+
* property, so `alarm.dimensionValue` accepts `Value<string>` and can
|
|
34
|
+
* reference a sibling resource by `Ref`/`GetAtt`.
|
|
35
|
+
*/
|
|
36
|
+
import { type Value } from "@intentius/chant";
|
|
37
|
+
import { Alarm, CwDashboard } from "../generated/index.js";
|
|
38
|
+
export interface MonitoringMetricSpec {
|
|
39
|
+
/** Dashboard widget title, and the alarm's default `AlarmName`. */
|
|
40
|
+
title: string;
|
|
41
|
+
/** CloudWatch namespace, e.g. `"AWS/Lambda"`, `"AWS/DynamoDB"`. */
|
|
42
|
+
namespace: string;
|
|
43
|
+
/** Metric name within the namespace, e.g. `"Errors"`, `"ConsumedReadCapacityUnits"`. */
|
|
44
|
+
metricName: string;
|
|
45
|
+
/**
|
|
46
|
+
* Dimension identifying which resource emits the metric, e.g.
|
|
47
|
+
* `{ name: "FunctionName", value: "my-fn" }`. Omit for an account/region-
|
|
48
|
+
* wide metric. `value` must be a literal — see the dashboard-body note above.
|
|
49
|
+
*/
|
|
50
|
+
dimension?: {
|
|
51
|
+
name: string;
|
|
52
|
+
value: string;
|
|
53
|
+
};
|
|
54
|
+
/** Statistic for both the widget and (if alarmed) the alarm. Default `"Sum"`. */
|
|
55
|
+
statistic?: string;
|
|
56
|
+
/** Period in seconds, for both the widget and the alarm. Default `300`. */
|
|
57
|
+
period?: number;
|
|
58
|
+
/** Alarm this metric when set; omit for a dashboard-only metric. */
|
|
59
|
+
alarm?: {
|
|
60
|
+
threshold: number;
|
|
61
|
+
/** Default `"GreaterThanThreshold"`. */
|
|
62
|
+
comparisonOperator?: string;
|
|
63
|
+
/** Default `1`. */
|
|
64
|
+
evaluationPeriods?: number;
|
|
65
|
+
treatMissingData?: "breaching" | "ignore" | "missing" | "notBreaching";
|
|
66
|
+
/** ARNs to notify on ALARM — an existing SNS topic, typically. */
|
|
67
|
+
alarmActions?: Value<string>[];
|
|
68
|
+
/**
|
|
69
|
+
* Dimension value for the alarm. Defaults to `dimension.value`; set this
|
|
70
|
+
* instead when the alarm needs to track a `Ref`/`GetAtt` the dashboard
|
|
71
|
+
* widget cannot (see the dashboard-body note above).
|
|
72
|
+
*/
|
|
73
|
+
dimensionValue?: Value<string>;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
export interface MonitoringStackProps {
|
|
77
|
+
/** `Value<string>`: a name is routinely built with `Sub`/`Ref` (#1366). */
|
|
78
|
+
dashboardName?: Value<string>;
|
|
79
|
+
metric1: MonitoringMetricSpec;
|
|
80
|
+
metric2?: MonitoringMetricSpec;
|
|
81
|
+
metric3?: MonitoringMetricSpec;
|
|
82
|
+
tags?: Array<{
|
|
83
|
+
Key: string;
|
|
84
|
+
Value: string;
|
|
85
|
+
}>;
|
|
86
|
+
defaults?: {
|
|
87
|
+
dashboard?: Partial<ConstructorParameters<typeof CwDashboard>[0]>;
|
|
88
|
+
alarm1?: Partial<ConstructorParameters<typeof Alarm>[0]>;
|
|
89
|
+
alarm2?: Partial<ConstructorParameters<typeof Alarm>[0]>;
|
|
90
|
+
alarm3?: Partial<ConstructorParameters<typeof Alarm>[0]>;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
export declare const MonitoringStack: import("@intentius/chant").CompositeDefinition<MonitoringStackProps, {
|
|
94
|
+
alarm3?: (import("@intentius/chant").Declarable & Record<string, string>) | undefined;
|
|
95
|
+
alarm2?: (import("@intentius/chant").Declarable & Record<string, string>) | undefined;
|
|
96
|
+
alarm1?: (import("@intentius/chant").Declarable & Record<string, string>) | undefined;
|
|
97
|
+
dashboard: import("@intentius/chant").Declarable & Record<string, string>;
|
|
98
|
+
}>;
|
|
99
|
+
//# sourceMappingURL=monitoring-stack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monitoring-stack.d.ts","sourceRoot":"","sources":["../../src/composites/monitoring-stack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAA4B,KAAK,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,oBAAoB;IACnC,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,KAAK,CAAC,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,wCAAwC;QACxC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,mBAAmB;QACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,gBAAgB,CAAC,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,cAAc,CAAC;QACvE,kEAAkE;QAClE,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B;;;;WAIG;QACH,cAAc,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,2EAA2E;IAC3E,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1D,CAAC;CACH;AAiDD,eAAO,MAAM,eAAe;;;;;EA2BP,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { LoadBalancer, TargetGroup, Listener } from "../generated/index.js";
|
|
2
|
+
export interface NlbServiceProps {
|
|
3
|
+
vpcId: string;
|
|
4
|
+
subnetIds: string[];
|
|
5
|
+
listenerPort?: number;
|
|
6
|
+
/** Port the target group forwards traffic to. Defaults to `listenerPort`. */
|
|
7
|
+
targetPort?: number;
|
|
8
|
+
/**
|
|
9
|
+
* Listener + target group protocol. `TLS` terminates TLS at the NLB and
|
|
10
|
+
* requires `certificateArn`; the other protocols pass traffic through
|
|
11
|
+
* unmodified, which is the common case for a Network Load Balancer.
|
|
12
|
+
*/
|
|
13
|
+
protocol?: "TCP" | "UDP" | "TLS" | "TCP_UDP";
|
|
14
|
+
scheme?: "internet-facing" | "internal";
|
|
15
|
+
/**
|
|
16
|
+
* Target group target type. `ip` (the default) covers Fargate awsvpc tasks
|
|
17
|
+
* and any routable IP; use `instance` to register EC2 instance IDs directly,
|
|
18
|
+
* or `alb` to chain an NLB in front of an existing Application Load Balancer.
|
|
19
|
+
*/
|
|
20
|
+
targetType?: "instance" | "ip" | "alb";
|
|
21
|
+
/**
|
|
22
|
+
* Static targets to register at creation time (instance IDs, IPs, or an ALB
|
|
23
|
+
* ARN depending on `targetType`). Omit when targets self-register instead —
|
|
24
|
+
* an ECS service, for instance, that references `targetGroup.TargetGroupArn`.
|
|
25
|
+
*/
|
|
26
|
+
targets?: Array<{
|
|
27
|
+
id: string;
|
|
28
|
+
port?: number;
|
|
29
|
+
availabilityZone?: string;
|
|
30
|
+
}>;
|
|
31
|
+
/** ACM certificate ARN. Required when `protocol` is `TLS`. */
|
|
32
|
+
certificateArn?: string;
|
|
33
|
+
healthCheckProtocol?: "TCP" | "HTTP" | "HTTPS";
|
|
34
|
+
healthCheckPort?: string;
|
|
35
|
+
/** Only meaningful when `healthCheckProtocol` is `HTTP` or `HTTPS`. */
|
|
36
|
+
healthCheckPath?: string;
|
|
37
|
+
defaults?: {
|
|
38
|
+
nlb?: Partial<ConstructorParameters<typeof LoadBalancer>[0]>;
|
|
39
|
+
targetGroup?: Partial<ConstructorParameters<typeof TargetGroup>[0]>;
|
|
40
|
+
listener?: Partial<ConstructorParameters<typeof Listener>[0]>;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export declare const NlbService: import("@intentius/chant").CompositeDefinition<NlbServiceProps, {
|
|
44
|
+
nlb: import("@intentius/chant").Declarable & Record<string, string>;
|
|
45
|
+
targetGroup: import("@intentius/chant").Declarable & Record<string, string>;
|
|
46
|
+
listener: import("@intentius/chant").Declarable & Record<string, string>;
|
|
47
|
+
}>;
|
|
48
|
+
//# sourceMappingURL=nlb-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nlb-service.d.ts","sourceRoot":"","sources":["../../src/composites/nlb-service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,WAAW,EAEX,QAAQ,EAGT,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,CAAC;IAC7C,MAAM,CAAC,EAAE,iBAAiB,GAAG,UAAU,CAAC;IACxC;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC;IACvC;;;;OAIG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1E,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,WAAW,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,QAAQ,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC/D,CAAC;CACH;AAED,eAAO,MAAM,UAAU;;;;EAoEP,CAAC"}
|