@composurecdk/ec2 0.6.0 → 0.8.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 (150) hide show
  1. package/README.md +121 -0
  2. package/dist/commonjs/index.d.ts +14 -0
  3. package/dist/commonjs/index.d.ts.map +1 -0
  4. package/dist/commonjs/index.js +22 -0
  5. package/dist/commonjs/index.js.map +1 -0
  6. package/dist/commonjs/instance-alarm-config.d.ts.map +1 -0
  7. package/dist/commonjs/instance-alarm-config.js +3 -0
  8. package/dist/commonjs/instance-alarm-config.js.map +1 -0
  9. package/dist/commonjs/instance-alarm-defaults.d.ts.map +1 -0
  10. package/dist/commonjs/instance-alarm-defaults.js +65 -0
  11. package/dist/commonjs/instance-alarm-defaults.js.map +1 -0
  12. package/dist/commonjs/instance-alarms.d.ts.map +1 -0
  13. package/dist/commonjs/instance-alarms.js +132 -0
  14. package/dist/commonjs/instance-alarms.js.map +1 -0
  15. package/dist/{instance-builder.d.ts → commonjs/instance-builder.d.ts} +44 -6
  16. package/dist/commonjs/instance-builder.d.ts.map +1 -0
  17. package/dist/commonjs/instance-builder.js +135 -0
  18. package/dist/commonjs/instance-builder.js.map +1 -0
  19. package/dist/commonjs/instance-defaults.d.ts.map +1 -0
  20. package/dist/commonjs/instance-defaults.js +62 -0
  21. package/dist/commonjs/instance-defaults.js.map +1 -0
  22. package/dist/commonjs/instance-volume-attachment-config.d.ts +34 -0
  23. package/dist/commonjs/instance-volume-attachment-config.d.ts.map +1 -0
  24. package/dist/commonjs/instance-volume-attachment-config.js +3 -0
  25. package/dist/commonjs/instance-volume-attachment-config.js.map +1 -0
  26. package/dist/commonjs/instance-volume-attachment-defaults.d.ts +14 -0
  27. package/dist/commonjs/instance-volume-attachment-defaults.d.ts.map +1 -0
  28. package/dist/commonjs/instance-volume-attachment-defaults.js +27 -0
  29. package/dist/commonjs/instance-volume-attachment-defaults.js.map +1 -0
  30. package/dist/commonjs/instance-volume-attachments.d.ts +59 -0
  31. package/dist/commonjs/instance-volume-attachments.d.ts.map +1 -0
  32. package/dist/commonjs/instance-volume-attachments.js +107 -0
  33. package/dist/commonjs/instance-volume-attachments.js.map +1 -0
  34. package/dist/commonjs/package.json +3 -0
  35. package/dist/commonjs/volume-alarm-config.d.ts +35 -0
  36. package/dist/commonjs/volume-alarm-config.d.ts.map +1 -0
  37. package/dist/commonjs/volume-alarm-config.js +3 -0
  38. package/dist/commonjs/volume-alarm-config.js.map +1 -0
  39. package/dist/commonjs/volume-alarm-defaults.d.ts +17 -0
  40. package/dist/commonjs/volume-alarm-defaults.d.ts.map +1 -0
  41. package/dist/commonjs/volume-alarm-defaults.js +30 -0
  42. package/dist/commonjs/volume-alarm-defaults.js.map +1 -0
  43. package/dist/commonjs/volume-alarms.d.ts +29 -0
  44. package/dist/commonjs/volume-alarms.d.ts.map +1 -0
  45. package/dist/commonjs/volume-alarms.js +92 -0
  46. package/dist/commonjs/volume-alarms.js.map +1 -0
  47. package/dist/commonjs/volume-builder.d.ts +171 -0
  48. package/dist/commonjs/volume-builder.d.ts.map +1 -0
  49. package/dist/commonjs/volume-builder.js +98 -0
  50. package/dist/commonjs/volume-builder.js.map +1 -0
  51. package/dist/commonjs/volume-defaults.d.ts +15 -0
  52. package/dist/commonjs/volume-defaults.d.ts.map +1 -0
  53. package/dist/commonjs/volume-defaults.js +50 -0
  54. package/dist/commonjs/volume-defaults.js.map +1 -0
  55. package/dist/{vpc-builder.d.ts → commonjs/vpc-builder.d.ts} +3 -2
  56. package/dist/commonjs/vpc-builder.d.ts.map +1 -0
  57. package/dist/commonjs/vpc-builder.js +82 -0
  58. package/dist/commonjs/vpc-builder.js.map +1 -0
  59. package/dist/commonjs/vpc-defaults.d.ts.map +1 -0
  60. package/dist/commonjs/vpc-defaults.js +58 -0
  61. package/dist/commonjs/vpc-defaults.js.map +1 -0
  62. package/dist/esm/index.d.ts +14 -0
  63. package/dist/esm/index.d.ts.map +1 -0
  64. package/dist/esm/index.js +10 -0
  65. package/dist/esm/index.js.map +1 -0
  66. package/dist/esm/instance-alarm-config.d.ts +62 -0
  67. package/dist/esm/instance-alarm-config.d.ts.map +1 -0
  68. package/dist/esm/instance-alarm-config.js.map +1 -0
  69. package/dist/esm/instance-alarm-defaults.d.ts +20 -0
  70. package/dist/esm/instance-alarm-defaults.d.ts.map +1 -0
  71. package/dist/esm/instance-alarm-defaults.js.map +1 -0
  72. package/dist/esm/instance-alarms.d.ts +28 -0
  73. package/dist/esm/instance-alarms.d.ts.map +1 -0
  74. package/dist/esm/instance-alarms.js.map +1 -0
  75. package/dist/esm/instance-builder.d.ts +223 -0
  76. package/dist/esm/instance-builder.d.ts.map +1 -0
  77. package/dist/{instance-builder.js → esm/instance-builder.js} +49 -4
  78. package/dist/esm/instance-builder.js.map +1 -0
  79. package/dist/esm/instance-defaults.d.ts +14 -0
  80. package/dist/esm/instance-defaults.d.ts.map +1 -0
  81. package/dist/esm/instance-defaults.js.map +1 -0
  82. package/dist/esm/instance-volume-attachment-config.d.ts +34 -0
  83. package/dist/esm/instance-volume-attachment-config.d.ts.map +1 -0
  84. package/dist/esm/instance-volume-attachment-config.js +2 -0
  85. package/dist/esm/instance-volume-attachment-config.js.map +1 -0
  86. package/dist/esm/instance-volume-attachment-defaults.d.ts +14 -0
  87. package/dist/esm/instance-volume-attachment-defaults.d.ts.map +1 -0
  88. package/dist/esm/instance-volume-attachment-defaults.js +24 -0
  89. package/dist/esm/instance-volume-attachment-defaults.js.map +1 -0
  90. package/dist/esm/instance-volume-attachments.d.ts +59 -0
  91. package/dist/esm/instance-volume-attachments.d.ts.map +1 -0
  92. package/dist/esm/instance-volume-attachments.js +104 -0
  93. package/dist/esm/instance-volume-attachments.js.map +1 -0
  94. package/dist/esm/package.json +3 -0
  95. package/dist/esm/volume-alarm-config.d.ts +35 -0
  96. package/dist/esm/volume-alarm-config.d.ts.map +1 -0
  97. package/dist/esm/volume-alarm-config.js +2 -0
  98. package/dist/esm/volume-alarm-config.js.map +1 -0
  99. package/dist/esm/volume-alarm-defaults.d.ts +17 -0
  100. package/dist/esm/volume-alarm-defaults.d.ts.map +1 -0
  101. package/dist/esm/volume-alarm-defaults.js +27 -0
  102. package/dist/esm/volume-alarm-defaults.js.map +1 -0
  103. package/dist/esm/volume-alarms.d.ts +29 -0
  104. package/dist/esm/volume-alarms.d.ts.map +1 -0
  105. package/dist/esm/volume-alarms.js +88 -0
  106. package/dist/esm/volume-alarms.js.map +1 -0
  107. package/dist/esm/volume-builder.d.ts +171 -0
  108. package/dist/esm/volume-builder.d.ts.map +1 -0
  109. package/dist/esm/volume-builder.js +95 -0
  110. package/dist/esm/volume-builder.js.map +1 -0
  111. package/dist/esm/volume-defaults.d.ts +15 -0
  112. package/dist/esm/volume-defaults.d.ts.map +1 -0
  113. package/dist/esm/volume-defaults.js +47 -0
  114. package/dist/esm/volume-defaults.js.map +1 -0
  115. package/dist/esm/vpc-builder.d.ts +110 -0
  116. package/dist/esm/vpc-builder.d.ts.map +1 -0
  117. package/dist/{vpc-builder.js → esm/vpc-builder.js} +2 -2
  118. package/dist/esm/vpc-builder.js.map +1 -0
  119. package/dist/esm/vpc-defaults.d.ts +15 -0
  120. package/dist/esm/vpc-defaults.d.ts.map +1 -0
  121. package/dist/esm/vpc-defaults.js.map +1 -0
  122. package/package.json +36 -17
  123. package/dist/index.d.ts +0 -7
  124. package/dist/index.d.ts.map +0 -1
  125. package/dist/index.js +0 -6
  126. package/dist/index.js.map +0 -1
  127. package/dist/instance-alarm-config.d.ts.map +0 -1
  128. package/dist/instance-alarm-config.js.map +0 -1
  129. package/dist/instance-alarm-defaults.d.ts.map +0 -1
  130. package/dist/instance-alarm-defaults.js.map +0 -1
  131. package/dist/instance-alarms.d.ts.map +0 -1
  132. package/dist/instance-alarms.js.map +0 -1
  133. package/dist/instance-builder.d.ts.map +0 -1
  134. package/dist/instance-builder.js.map +0 -1
  135. package/dist/instance-defaults.d.ts.map +0 -1
  136. package/dist/instance-defaults.js.map +0 -1
  137. package/dist/vpc-builder.d.ts.map +0 -1
  138. package/dist/vpc-builder.js.map +0 -1
  139. package/dist/vpc-defaults.d.ts.map +0 -1
  140. package/dist/vpc-defaults.js.map +0 -1
  141. /package/dist/{instance-alarm-config.d.ts → commonjs/instance-alarm-config.d.ts} +0 -0
  142. /package/dist/{instance-alarm-defaults.d.ts → commonjs/instance-alarm-defaults.d.ts} +0 -0
  143. /package/dist/{instance-alarms.d.ts → commonjs/instance-alarms.d.ts} +0 -0
  144. /package/dist/{instance-defaults.d.ts → commonjs/instance-defaults.d.ts} +0 -0
  145. /package/dist/{vpc-defaults.d.ts → commonjs/vpc-defaults.d.ts} +0 -0
  146. /package/dist/{instance-alarm-config.js → esm/instance-alarm-config.js} +0 -0
  147. /package/dist/{instance-alarm-defaults.js → esm/instance-alarm-defaults.js} +0 -0
  148. /package/dist/{instance-alarms.js → esm/instance-alarms.js} +0 -0
  149. /package/dist/{instance-defaults.js → esm/instance-defaults.js} +0 -0
  150. /package/dist/{vpc-defaults.js → esm/vpc-defaults.js} +0 -0
@@ -0,0 +1,47 @@
1
+ import { RemovalPolicy } from "aws-cdk-lib";
2
+ import { EbsDeviceVolumeType } from "aws-cdk-lib/aws-ec2";
3
+ /**
4
+ * Secure, AWS-recommended defaults applied to every EBS volume built with
5
+ * {@link createVolumeBuilder}. Each property can be individually overridden
6
+ * via the builder's fluent API.
7
+ *
8
+ * Three properties intentionally have no default — they are application-
9
+ * specific and must be supplied explicitly:
10
+ * - `availabilityZone` (via the builder's `.availabilityZone()` method)
11
+ * - `size`
12
+ * - `iops` / `throughput` (only when opting into a volume type that
13
+ * requires them, e.g. `io1`/`io2`)
14
+ */
15
+ export const VOLUME_DEFAULTS = {
16
+ /**
17
+ * GP3 is the current-generation general-purpose SSD — cheaper and faster
18
+ * than GP2 at equivalent sizes, and matches the root-volume choice in
19
+ * {@link INSTANCE_DEFAULTS}.
20
+ * @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/general-purpose.html
21
+ */
22
+ volumeType: EbsDeviceVolumeType.GP3,
23
+ /**
24
+ * Encrypt the volume at rest. Defaults to the account's default EBS KMS
25
+ * key; pass an `encryptionKey` to use a customer-managed key (CMK) for
26
+ * sensitive workloads per SEC08-BP02.
27
+ * @see https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_protect_data_rest_encrypt.html
28
+ * @see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html
29
+ */
30
+ encrypted: true,
31
+ /**
32
+ * When EBS detects inconsistent data on boot it disables I/O until the
33
+ * operator acknowledges. For a persistent data volume the safer default
34
+ * is to let I/O resume so the instance can come up unattended; override
35
+ * to `false` for workloads that prefer to block on potential corruption.
36
+ * @see https://docs.aws.amazon.com/ebs/latest/userguide/monitoring-volume-events.html
37
+ */
38
+ autoEnableIo: true,
39
+ /**
40
+ * Mirrors `BUCKET_DEFAULTS.removalPolicy`. A destroyed volume is
41
+ * unrecoverable; an orphaned volume is a $/month nuisance. Err on the
42
+ * side of retention — flip to `DESTROY` explicitly for ephemeral data.
43
+ * @see https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/rel_planning_for_recovery_back_up_data.html
44
+ */
45
+ removalPolicy: RemovalPolicy.RETAIN,
46
+ };
47
+ //# sourceMappingURL=volume-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"volume-defaults.js","sourceRoot":"","sources":["../../src/volume-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAoB,MAAM,qBAAqB,CAAC;AAE5E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAyB;IACnD;;;;;OAKG;IACH,UAAU,EAAE,mBAAmB,CAAC,GAAG;IAEnC;;;;;;OAMG;IACH,SAAS,EAAE,IAAI;IAEf;;;;;;OAMG;IACH,YAAY,EAAE,IAAI;IAElB;;;;;OAKG;IACH,aAAa,EAAE,aAAa,CAAC,MAAM;CACpC,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { FlowLogDestination, Vpc, type VpcProps } from "aws-cdk-lib/aws-ec2";
2
+ import { type LogGroup } from "aws-cdk-lib/aws-logs";
3
+ import { type IConstruct } from "constructs";
4
+ import { type Lifecycle } from "@composurecdk/core";
5
+ import { type ITaggedBuilder } from "@composurecdk/cloudformation";
6
+ import { type ILogGroupBuilder } from "@composurecdk/logs";
7
+ /**
8
+ * Configures how VPC flow logs are handled. Pass `false` to disable flow
9
+ * logs; pass an object to wire a destination or customize the auto-created
10
+ * LogGroup sub-builder.
11
+ *
12
+ * `configure` cannot be combined with `destination` — a user-managed
13
+ * destination is not built by this builder.
14
+ *
15
+ * For multiple flow logs against the same VPC, omit this config and create
16
+ * additional `FlowLog` constructs directly against the returned `vpc`.
17
+ *
18
+ * @see https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html
19
+ */
20
+ export type FlowLogsConfig = false | {
21
+ /** A user-managed flow log destination. Cannot be combined with `configure`. */
22
+ destination?: FlowLogDestination;
23
+ /**
24
+ * Customize the auto-created LogGroup sub-builder. Receives a builder
25
+ * pre-seeded with the well-architected log retention/removal defaults
26
+ * from {@link createLogGroupBuilder}.
27
+ */
28
+ configure?: (b: ILogGroupBuilder) => ILogGroupBuilder;
29
+ };
30
+ /**
31
+ * Configuration properties for the VPC builder.
32
+ *
33
+ * Hides the CDK `flowLogs` map field in favor of {@link flowLogs} — a
34
+ * discriminated config that supports an `false` opt-out, a user-managed
35
+ * destination, or a customizable auto-managed LogGroup.
36
+ */
37
+ export interface VpcBuilderProps extends Omit<VpcProps, "flowLogs"> {
38
+ /** See {@link FlowLogsConfig}. Defaults to an auto-managed LogGroup-backed flow log. */
39
+ flowLogs?: FlowLogsConfig;
40
+ }
41
+ /**
42
+ * The build output of a {@link IVpcBuilder}. Contains the CDK constructs
43
+ * created during {@link Lifecycle.build}, keyed by role.
44
+ */
45
+ export interface VpcBuilderResult {
46
+ vpc: Vpc;
47
+ /**
48
+ * The CloudWatch LogGroup created for the auto-managed flow log, or
49
+ * `undefined` when the user supplied their own `destination` or
50
+ * disabled flow logs entirely.
51
+ *
52
+ * @see https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html
53
+ */
54
+ flowLogsLogGroup?: LogGroup;
55
+ }
56
+ /**
57
+ * A fluent builder for configuring and creating an AWS VPC.
58
+ *
59
+ * Each configuration property from the CDK {@link VpcProps} is exposed as an
60
+ * overloaded method: call with a value to set it (returns the builder for
61
+ * chaining), or call with no arguments to read the current value.
62
+ *
63
+ * The builder implements {@link Lifecycle}, so it can be used directly as a
64
+ * component in a {@link compose | composed system}. When built, it creates
65
+ * a VPC with {@link VPC_DEFAULTS | well-architected defaults} and returns a
66
+ * {@link VpcBuilderResult}.
67
+ *
68
+ * By default the builder auto-creates a CloudWatch-Logs-backed flow log
69
+ * using a managed {@link LogGroup} so every VPC gets baseline network audit
70
+ * logging. Customize via {@link FlowLogsConfig} or disable with
71
+ * `flowLogs(false)`.
72
+ *
73
+ * @see https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_ec2.Vpc.html
74
+ *
75
+ * @example
76
+ * ```ts
77
+ * const network = createVpcBuilder().maxAzs(3).natGateways(3);
78
+ * ```
79
+ */
80
+ export type IVpcBuilder = ITaggedBuilder<VpcBuilderProps, VpcBuilder>;
81
+ declare class VpcBuilder implements Lifecycle<VpcBuilderResult> {
82
+ props: Partial<VpcBuilderProps>;
83
+ build(scope: IConstruct, id: string): VpcBuilderResult;
84
+ }
85
+ /**
86
+ * Creates a new {@link IVpcBuilder} for configuring an AWS VPC.
87
+ *
88
+ * This is the entry point for defining a VPC component. The returned builder
89
+ * exposes every {@link VpcBuilderProps} property as a fluent setter/getter
90
+ * and implements {@link Lifecycle} for use with {@link compose}.
91
+ *
92
+ * @returns A fluent builder for an AWS VPC.
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * const network = createVpcBuilder().maxAzs(3).natGateways(3);
97
+ *
98
+ * // Use standalone:
99
+ * const result = network.build(stack, "Network");
100
+ *
101
+ * // Or compose into a system:
102
+ * const system = compose(
103
+ * { network, server: createInstanceBuilder() },
104
+ * { network: [], server: ["network"] },
105
+ * );
106
+ * ```
107
+ */
108
+ export declare function createVpcBuilder(): IVpcBuilder;
109
+ export {};
110
+ //# sourceMappingURL=vpc-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vpc-builder.d.ts","sourceRoot":"","sources":["../../src/vpc-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,KAAK,cAAc,EAAiB,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGlF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,GACtB,KAAK,GACL;IACE,gFAAgF;IAChF,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,gBAAgB,CAAC;CACvD,CAAC;AAEN;;;;;;GAMG;AACH,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;IACjE,wFAAwF;IACxF,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,GAAG,CAAC;IAET;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,WAAW,GAAG,cAAc,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AAItE,cAAM,UAAW,YAAW,SAAS,CAAC,gBAAgB,CAAC;IACrD,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IAErC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,gBAAgB;CAgBvD;AA2CD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CAE9C"}
@@ -1,5 +1,5 @@
1
1
  import { FlowLogDestination, Vpc } from "aws-cdk-lib/aws-ec2";
2
- import { Builder } from "@composurecdk/core";
2
+ import { taggedBuilder } from "@composurecdk/cloudformation";
3
3
  import { createLogGroupBuilder } from "@composurecdk/logs";
4
4
  import { VPC_DEFAULTS } from "./vpc-defaults.js";
5
5
  const DEFAULT_FLOW_LOG_KEY = "DefaultFlowLog";
@@ -74,6 +74,6 @@ function resolveFlowLogs(scope, id, cfg) {
74
74
  * ```
75
75
  */
76
76
  export function createVpcBuilder() {
77
- return Builder(VpcBuilder);
77
+ return taggedBuilder(VpcBuilder);
78
78
  }
79
79
  //# sourceMappingURL=vpc-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vpc-builder.js","sourceRoot":"","sources":["../../src/vpc-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAiB,MAAM,qBAAqB,CAAC;AAI7E,OAAO,EAAuB,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAyB,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAmFjD,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAE9C,MAAM,UAAU;IACd,KAAK,GAA6B,EAAE,CAAC;IAErC,KAAK,CAAC,KAAiB,EAAE,EAAU;QACjC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE7D,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QAEtF,MAAM,WAAW,GAAG;YAClB,GAAG,YAAY;YACf,GAAG,YAAY;YACf,GAAG,QAAQ;SACZ,CAAC;QAEF,OAAO;YACL,GAAG,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,WAAW,CAAC;YACpC,gBAAgB;SACjB,CAAC;IACJ,CAAC;CACF;AAED,SAAS,eAAe,CACtB,KAAiB,EACjB,EAAU,EACV,GAA+B;IAE/B,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,GAAG,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,gEAAgE;gBAC9D,gEAAgE,CACnE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,YAAY,EAAE;gBACZ,QAAQ,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE;aACvE;SACF,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,GAAG,qBAAqB,EAAE,CAAC;IACzC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC;QACnB,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC;IAEnF,OAAO;QACL,gBAAgB;QAChB,YAAY,EAAE;YACZ,QAAQ,EAAE;gBACR,CAAC,oBAAoB,CAAC,EAAE;oBACtB,WAAW,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;iBACnE;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,aAAa,CAA8B,UAAU,CAAC,CAAC;AAChE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { VpcProps } from "aws-cdk-lib/aws-ec2";
2
+ /**
3
+ * Secure, cost-conscious defaults applied to every VPC built with
4
+ * {@link createVpcBuilder}. Each property can be individually overridden
5
+ * via the builder's fluent API.
6
+ *
7
+ * Subnet layout uses CDK defaults (one public + one private-with-egress
8
+ * subnet per AZ) — override `subnetConfiguration` for custom topologies.
9
+ *
10
+ * Flow logs are created separately by the builder (not via this defaults
11
+ * object) so the destination log group can be auto-managed with
12
+ * well-architected retention/removal policies.
13
+ */
14
+ export declare const VPC_DEFAULTS: Partial<VpcProps>;
15
+ //# sourceMappingURL=vpc-defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vpc-defaults.d.ts","sourceRoot":"","sources":["../../src/vpc-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,QAAQ,CA6C1C,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vpc-defaults.js","sourceRoot":"","sources":["../../src/vpc-defaults.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C;;;;;OAKG;IACH,MAAM,EAAE,CAAC;IAET;;;;;OAKG;IACH,WAAW,EAAE,CAAC;IAEd;;;;;OAKG;IACH,gBAAgB,EAAE,IAAI;IAEtB;;;;;OAKG;IACH,kBAAkB,EAAE,IAAI;IAExB;;;;;;;;;;OAUG;IACH,4BAA4B,EAAE,IAAI;CACnC,CAAC"}
package/package.json CHANGED
@@ -1,29 +1,22 @@
1
1
  {
2
2
  "name": "@composurecdk/ec2",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Composable EC2 instance and VPC builders with well-architected defaults",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/laazyj/composureCDK",
8
8
  "directory": "packages/ec2"
9
9
  },
10
- "main": "./dist/index.js",
11
- "types": "./dist/index.d.ts",
12
- "exports": {
13
- ".": {
14
- "import": "./dist/index.js",
15
- "types": "./dist/index.d.ts"
16
- }
17
- },
18
10
  "files": [
19
11
  "dist",
20
12
  "README.md",
21
13
  "LICENSE"
22
14
  ],
23
15
  "scripts": {
24
- "clean": "rm -rf dist",
25
- "build": "tsc -p tsconfig.build.json",
16
+ "clean": "rm -rf dist .tshy .tshy-build",
17
+ "build": "tshy",
26
18
  "typecheck": "tsc --noEmit",
19
+ "check:exports": "attw --pack . --profile node16 && publint",
27
20
  "test": "vitest run --passWithNoTests",
28
21
  "test:watch": "vitest"
29
22
  },
@@ -34,18 +27,44 @@
34
27
  "access": "public"
35
28
  },
36
29
  "type": "module",
30
+ "engines": {
31
+ "node": ">=20"
32
+ },
33
+ "tshy": {
34
+ "exports": {
35
+ "./package.json": "./package.json",
36
+ ".": "./src/index.ts"
37
+ }
38
+ },
37
39
  "peerDependencies": {
38
- "@composurecdk/cloudwatch": "^0.6.0",
39
- "@composurecdk/core": "^0.6.0",
40
- "@composurecdk/logs": "^0.6.0",
40
+ "@composurecdk/cloudformation": "^0.8.0",
41
+ "@composurecdk/cloudwatch": "^0.8.0",
42
+ "@composurecdk/core": "^0.8.0",
43
+ "@composurecdk/logs": "^0.8.0",
41
44
  "aws-cdk-lib": "^2.0.0",
42
45
  "constructs": "^10.0.0"
43
46
  },
44
47
  "devDependencies": {
45
- "@types/node": "^25.5.0",
46
- "aws-cdk-lib": "^2.245.0",
48
+ "@types/node": "^25.6.2",
49
+ "aws-cdk-lib": "^2.253.1",
47
50
  "constructs": "^10.6.0",
48
51
  "typescript": "^6.0.2",
49
52
  "vitest": "^4.1.2"
50
- }
53
+ },
54
+ "exports": {
55
+ "./package.json": "./package.json",
56
+ ".": {
57
+ "import": {
58
+ "types": "./dist/esm/index.d.ts",
59
+ "default": "./dist/esm/index.js"
60
+ },
61
+ "require": {
62
+ "types": "./dist/commonjs/index.d.ts",
63
+ "default": "./dist/commonjs/index.js"
64
+ }
65
+ }
66
+ },
67
+ "main": "./dist/commonjs/index.js",
68
+ "types": "./dist/commonjs/index.d.ts",
69
+ "module": "./dist/esm/index.js"
51
70
  }
package/dist/index.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export { createInstanceBuilder, type IInstanceBuilder, type InstanceBuilderProps, type InstanceBuilderResult, } from "./instance-builder.js";
2
- export { INSTANCE_DEFAULTS } from "./instance-defaults.js";
3
- export { type InstanceAlarmConfig } from "./instance-alarm-config.js";
4
- export { INSTANCE_ALARM_DEFAULTS } from "./instance-alarm-defaults.js";
5
- export { createVpcBuilder, type FlowLogsConfig, type IVpcBuilder, type VpcBuilderProps, type VpcBuilderResult, } from "./vpc-builder.js";
6
- export { VPC_DEFAULTS } from "./vpc-defaults.js";
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EACL,gBAAgB,EAChB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js DELETED
@@ -1,6 +0,0 @@
1
- export { createInstanceBuilder, } from "./instance-builder.js";
2
- export { INSTANCE_DEFAULTS } from "./instance-defaults.js";
3
- export { INSTANCE_ALARM_DEFAULTS } from "./instance-alarm-defaults.js";
4
- export { createVpcBuilder, } from "./vpc-builder.js";
5
- export { VPC_DEFAULTS } from "./vpc-defaults.js";
6
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAItB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EACL,gBAAgB,GAKjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance-alarm-config.d.ts","sourceRoot":"","sources":["../src/instance-alarm-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAErC;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAExC;;;;;;;;;;OAUG;IACH,4BAA4B,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAEnD;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;CACxC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance-alarm-config.js","sourceRoot":"","sources":["../src/instance-alarm-config.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance-alarm-defaults.d.ts","sourceRoot":"","sources":["../src/instance-alarm-defaults.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,UAAU,qBAAqB;IAC7B,OAAO,EAAE,IAAI,CAAC;IACd,cAAc,EAAE,mBAAmB,CAAC;IACpC,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,4BAA4B,EAAE,mBAAmB,CAAC;IAClD,gBAAgB,EAAE,mBAAmB,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,qBAsDrC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance-alarm-defaults.js","sourceRoot":"","sources":["../src/instance-alarm-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAW9D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA0B;IAC5D,OAAO,EAAE,IAAI;IAEb;;;;OAIG;IACH,cAAc,EAAE;QACd,SAAS,EAAE,EAAE;QACb,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,gBAAgB,CAAC,aAAa;KACjD;IAED;;;;OAIG;IACH,iBAAiB,EAAE;QACjB,SAAS,EAAE,CAAC;QACZ,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,gBAAgB,CAAC,aAAa;KACjD;IAED;;;;;;OAMG;IACH,4BAA4B,EAAE;QAC5B,SAAS,EAAE,CAAC;QACZ,iBAAiB,EAAE,EAAE;QACrB,iBAAiB,EAAE,EAAE;QACrB,gBAAgB,EAAE,gBAAgB,CAAC,aAAa;KACjD;IAED;;;;;;OAMG;IACH,gBAAgB,EAAE;QAChB,SAAS,EAAE,EAAE;QACb,iBAAiB,EAAE,CAAC;QACpB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,gBAAgB,CAAC,aAAa;KACjD;CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance-alarms.d.ts","sourceRoot":"","sources":["../src/instance-alarms.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAqC,MAAM,4BAA4B,CAAC;AAC3F,OAAO,KAAK,EAAa,QAAQ,EAAE,aAAa,EAAgB,MAAM,qBAAqB,CAAC;AAC5F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAoC,MAAM,0BAA0B,CAAC;AACpG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AA6CtE;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,GACzC,eAAe,EAAE,CA2EnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,UAAU,EACjB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,mBAAmB,GAAG,KAAK,GAAG,SAAS,EAC/C,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAC1C,YAAY,GAAE,sBAAsB,CAAC,QAAQ,CAAC,EAAO,GACpD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAUvB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance-alarms.js","sourceRoot":"","sources":["../src/instance-alarms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAc,kBAAkB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAI3F,OAAO,EAA0B,YAAY,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEpG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1C,MAAM,mBAAmB,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC;AAE1E;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjD,MAAM,0BAA0B,GAAG,GAAG,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC;AAExF;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAE1E,SAAS,uBAAuB,CAAC,YAA0B;IACzD,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;IAC3C,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,cAAc,CACrB,QAAmB,EACnB,UAAkB,EAClB,SAAiB,EACjB,SAAmB,aAAa;IAEhC,OAAO,IAAI,MAAM,CAAC;QAChB,SAAS,EAAE,SAAS;QACpB,UAAU;QACV,aAAa,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE;QAClD,SAAS;QACT,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,+BAA+B,CAC7C,QAAkB,EAClB,MAAuC,EACvC,KAA0C;IAE1C,IAAI,MAAM,EAAE,OAAO,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IAEzC,MAAM,WAAW,GAAsB,EAAE,CAAC;IAE1C,IAAI,MAAM,EAAE,cAAc,KAAK,KAAK,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,EAAE,cAAc,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC;QAC/F,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,gBAAgB;YACrB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,CAAC,OAAO,CAAC;YACjE,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,kBAAkB,EAAE,kBAAkB,CAAC,sBAAsB;YAC7D,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,WAAW,EAAE,2EAA2E,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,mBAAmB,GAAG;SACzL,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,EAAE,iBAAiB,KAAK,KAAK,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,kBAAkB,CAC5B,MAAM,EAAE,iBAAiB,EACzB,uBAAuB,CAAC,iBAAiB,CAC1C,CAAC;QACF,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,mBAAmB;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC;YAChE,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,kBAAkB,EAAE,kBAAkB,CAAC,sBAAsB;YAC7D,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,WAAW,EAAE,2DAA2D,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,uBAAuB,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,mBAAmB,GAAG;SAC9K,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,EAAE,4BAA4B,KAAK,KAAK,EAAE,CAAC;QACnD,MAAM,GAAG,GAAG,kBAAkB,CAC5B,MAAM,EAAE,4BAA4B,EACpC,uBAAuB,CAAC,4BAA4B,CACrD,CAAC;QACF,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,8BAA8B;YACnC,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,+BAA+B,EAAE,KAAK,CAAC,OAAO,CAAC;YAChF,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,kBAAkB,EAAE,kBAAkB,CAAC,kCAAkC;YACzE,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,WAAW,EAAE,gGAAgG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,6BAA6B,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,mBAAmB,GAAG;SACzN,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,EAAE,gBAAgB,KAAK,KAAK,IAAI,uBAAuB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QACtF,MAAM,GAAG,GAAG,kBAAkB,CAC5B,MAAM,EAAE,gBAAgB,EACxB,uBAAuB,CAAC,gBAAgB,CACzC,CAAC;QACF,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,kBAAkB;YACvB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,MAAM,EAAE,cAAc,CAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,CAAC,OAAO,EAAE,oBAAoB,CAAC;YACzF,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,kBAAkB,EAAE,kBAAkB,CAAC,mBAAmB;YAC1D,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;YACxC,gBAAgB,EAAE,GAAG,CAAC,gBAAgB;YACtC,WAAW,EAAE,oGAAoG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,2BAA2B,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,0BAA0B,GAAG;SAClO,CAAC,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAiB,EACjB,EAAU,EACV,QAAkB,EAClB,MAA+C,EAC/C,KAA0C,EAC1C,eAAmD,EAAE;IAErD,IAAI,MAAM,KAAK,KAAK;QAAE,OAAO,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,uBAAuB,CAAC,OAAO,CAAC;IACnE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,WAAW,GAAG,+BAA+B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC7E,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE5D,OAAO,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance-builder.d.ts","sourceRoot":"","sources":["../src/instance-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EACL,QAAQ,EACR,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,KAAK,aAAa,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,SAAS,EAEd,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAItE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAChD,aAAa,EACb,KAAK,GAAG,MAAM,GAAG,SAAS,GAAG,eAAe,CAC7C;IACC;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAEzB;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAE/B;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;IAE3C;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,GAAG,KAAK,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC;AAE/E,cAAM,eAAgB,YAAW,SAAS,CAAC,qBAAqB,CAAC;;IAC/D,KAAK,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAM;IAI1C;;;;;;;;;OASG;IACH,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI;IAKhC;;;;;;;;OAQG;IACH,QAAQ,CACN,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,QAAQ,CAAC,KAAK,sBAAsB,CAAC,QAAQ,CAAC,GACvF,IAAI;IAKP,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,qBAAqB;CAuC9F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,qBAAqB,IAAI,gBAAgB,CAExD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance-builder.js","sourceRoot":"","sources":["../src/instance-builder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,GAKT,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,OAAO,EAGP,OAAO,GAER,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAqI3D,MAAM,eAAe;IACnB,KAAK,GAAkC,EAAE,CAAC;IACjC,aAAa,GAAuC,EAAE,CAAC;IAChE,IAAI,CAAoB;IAExB;;;;;;;;;OASG;IACH,GAAG,CAAC,GAAqB;QACvB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CACN,GAAW,EACX,SAAwF;QAExF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,sBAAsB,CAAW,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAiB,EAAE,EAAU,EAAE,OAAgC;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAExE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,oBAAoB,EAAE,6DAA6D,CACpF,CAAC;QACJ,CAAC;QAED,MAAM,EACJ,iBAAiB,EAAE,WAAW,EAC9B,IAAI,EACJ,OAAO,EACP,aAAa,EACb,GAAG,aAAa,EACjB,GAAG,IAAI,CAAC,KAAK,CAAC;QAEf,MAAM,WAAW,GAAG;YAClB,GAAG,iBAAiB;YACpB,GAAG,aAAa;YAChB,GAAG,EAAE,WAAW;YAChB,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC;QAEnB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,oBAAoB,CACjC,KAAK,EACL,EAAE,EACF,QAAQ,EACR,WAAW,EACX,WAAW,EACX,IAAI,CAAC,aAAa,CACnB,CAAC;QAEF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,OAAO,CAAwC,eAAe,CAAC,CAAC;AACzE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance-defaults.d.ts","sourceRoot":"","sources":["../src/instance-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjG;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,aAAa,CAiDpD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"instance-defaults.js","sourceRoot":"","sources":["../src/instance-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAEjG;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD;;;;;OAKG;IACH,aAAa,EAAE,IAAI;IAEnB;;;;;OAKG;IACH,kBAAkB,EAAE,IAAI;IAExB;;;;;OAKG;IACH,qBAAqB,EAAE,IAAI;IAE3B;;;;;OAKG;IACH,YAAY,EAAE,IAAI;IAElB;;;;;;OAMG;IACH,YAAY,EAAE;QACZ;YACE,UAAU,EAAE,WAAW;YACvB,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/B,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,mBAAmB,CAAC,GAAG;aACpC,CAAC;SACH;KACF;CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"vpc-builder.d.ts","sourceRoot":"","sources":["../src/vpc-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAW,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGlF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,cAAc,GACtB,KAAK,GACL;IACE,gFAAgF;IAChF,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,gBAAgB,CAAC;CACvD,CAAC;AAEN;;;;;;GAMG;AACH,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;IACjE,wFAAwF;IACxF,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,GAAG,CAAC;IAET;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;AAIhE,cAAM,UAAW,YAAW,SAAS,CAAC,gBAAgB,CAAC;IACrD,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IAErC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,gBAAgB;CAgBvD;AA2CD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,gBAAgB,IAAI,WAAW,CAE9C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"vpc-builder.js","sourceRoot":"","sources":["../src/vpc-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,GAAG,EAAiB,MAAM,qBAAqB,CAAC;AAG7E,OAAO,EAAE,OAAO,EAAiC,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAyB,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAmFjD,MAAM,oBAAoB,GAAG,gBAAgB,CAAC;AAE9C,MAAM,UAAU;IACd,KAAK,GAA6B,EAAE,CAAC;IAErC,KAAK,CAAC,KAAiB,EAAE,EAAU;QACjC,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAE7D,MAAM,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC;QAEtF,MAAM,WAAW,GAAG;YAClB,GAAG,YAAY;YACf,GAAG,YAAY;YACf,GAAG,QAAQ;SACZ,CAAC;QAEF,OAAO;YACL,GAAG,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,WAAW,CAAC;YACpC,gBAAgB;SACjB,CAAC;IACJ,CAAC;CACF;AAED,SAAS,eAAe,CACtB,KAAiB,EACjB,EAAU,EACV,GAA+B;IAE/B,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QAClB,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,GAAG,EAAE,WAAW,KAAK,SAAS,EAAE,CAAC;QACnC,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,gEAAgE;gBAC9D,gEAAgE,CACnE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,YAAY,EAAE;gBACZ,QAAQ,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE;aACvE;SACF,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,GAAG,qBAAqB,EAAE,CAAC;IACzC,IAAI,GAAG,EAAE,SAAS,EAAE,CAAC;QACnB,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,gBAAgB,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC;IAEnF,OAAO;QACL,gBAAgB;QAChB,YAAY,EAAE;YACZ,QAAQ,EAAE;gBACR,CAAC,oBAAoB,CAAC,EAAE;oBACtB,WAAW,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;iBACnE;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAA8B,UAAU,CAAC,CAAC;AAC1D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"vpc-defaults.d.ts","sourceRoot":"","sources":["../src/vpc-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,QAAQ,CA6C1C,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"vpc-defaults.js","sourceRoot":"","sources":["../src/vpc-defaults.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C;;;;;OAKG;IACH,MAAM,EAAE,CAAC;IAET;;;;;OAKG;IACH,WAAW,EAAE,CAAC;IAEd;;;;;OAKG;IACH,gBAAgB,EAAE,IAAI;IAEtB;;;;;OAKG;IACH,kBAAkB,EAAE,IAAI;IAExB;;;;;;;;;;OAUG;IACH,4BAA4B,EAAE,IAAI;CACnC,CAAC"}
File without changes