@awsless/cli 0.0.1 → 0.0.3
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/app.json +1 -1
- package/dist/app.stage.json +1 -1
- package/dist/bin.js +9918 -47461
- package/dist/build-json-schema.js +308 -175
- package/dist/prebuild/icon/bundle.zip +0 -0
- package/dist/prebuild/image/bundle.zip +0 -0
- package/dist/prebuild/on-error-log/bundle.zip +0 -0
- package/dist/prebuild/on-failure/bundle.zip +0 -0
- package/dist/prebuild/rpc/HASH +1 -1
- package/dist/prebuild/rpc/bundle.zip +0 -0
- package/dist/stack.json +1 -1
- package/dist/stack.stage.json +1 -1
- package/package.json +17 -7
- package/dist/chunk-2TBBLACH.js +0 -37
- package/dist/chunk-3YEPERYO.js +0 -1021
- package/dist/chunk-4JFIJMQ6.js +0 -46
- package/dist/chunk-5TWBDDXS.js +0 -60
- package/dist/chunk-7NRPMOO4.js +0 -876
- package/dist/chunk-7XIGSOF4.js +0 -100
- package/dist/chunk-DSXFE5X2.js +0 -174
- package/dist/chunk-E7FQOYML.js +0 -12
- package/dist/chunk-GH475CSF.js +0 -5005
- package/dist/chunk-JHYKYQ5P.js +0 -163
- package/dist/chunk-LBISIOIM.js +0 -28
- package/dist/chunk-RCNT4C4P.js +0 -50
- package/dist/chunk-SIAA4J6H.js +0 -21
- package/dist/chunk-XNYTWFP6.js +0 -241
- package/dist/chunk-Z37AK4IA.js +0 -546
- package/dist/chunk-ZKH7AMP3.js +0 -42
- package/dist/dist-es-GXHCNXAC.js +0 -489
- package/dist/dist-es-J7SL4PXO.js +0 -88
- package/dist/dist-es-LL3VAI2X.js +0 -70
- package/dist/dist-es-QND3CYLI.js +0 -380
- package/dist/dist-es-STVZUSZG.js +0 -21
- package/dist/dist-es-TCFHB4OF.js +0 -324
- package/dist/dist-es-YFQTZTNE.js +0 -167
- package/dist/event-streams-74K5M656.js +0 -244
- package/dist/loadSso-O7PM54HL.js +0 -592
- package/dist/signin-6SPMGGJN.js +0 -704
- package/dist/sso-oidc-5IIWGKXY.js +0 -829
- package/dist/sts-6SQWH4BL.js +0 -3788
|
@@ -4,7 +4,7 @@ import { join as join2 } from "path";
|
|
|
4
4
|
import { zodToJsonSchema } from "zod-to-json-schema";
|
|
5
5
|
|
|
6
6
|
// src/config/app.ts
|
|
7
|
-
import { z as
|
|
7
|
+
import { z as z26 } from "zod";
|
|
8
8
|
|
|
9
9
|
// src/feature/alert/schema.ts
|
|
10
10
|
import { kebabCase } from "change-case";
|
|
@@ -233,7 +233,7 @@ var LogRetentionSchema = DurationSchema.refine(
|
|
|
233
233
|
(duration) => {
|
|
234
234
|
return validLogRetentionDays.includes(toDays(duration));
|
|
235
235
|
},
|
|
236
|
-
`Invalid log retention. Valid days are: ${validLogRetentionDays.map((
|
|
236
|
+
`Invalid log retention. Valid days are: ${validLogRetentionDays.map((days6) => `${days6}`).join(", ")}`
|
|
237
237
|
).describe("The log retention duration.");
|
|
238
238
|
var LogSchema = z11.union([
|
|
239
239
|
z11.boolean().transform((enabled) => ({ retention: enabled ? days(7) : days(0) })),
|
|
@@ -670,7 +670,12 @@ var RouterDefaultSchema = z20.record(
|
|
|
670
670
|
}).optional().describe("Specify the cors headers."),
|
|
671
671
|
passwordAuth: z20.object({
|
|
672
672
|
password: z20.string().describe("Password.")
|
|
673
|
-
}).optional().describe(
|
|
673
|
+
}).optional().describe(
|
|
674
|
+
[
|
|
675
|
+
"Enable password authentication for the router.",
|
|
676
|
+
'You can authenicate by adding a "authorization" header with the value "Password [YOUR_PASSWORD]".'
|
|
677
|
+
].join("\n")
|
|
678
|
+
),
|
|
674
679
|
basicAuth: z20.object({
|
|
675
680
|
username: z20.string().describe("Basic auth username."),
|
|
676
681
|
password: z20.string().describe("Basic auth password.")
|
|
@@ -773,13 +778,11 @@ var RpcSchema = z21.record(
|
|
|
773
778
|
).describe("The queries for your global RPC API.")
|
|
774
779
|
).describe("Define the schema in your stack for your global RPC API.").optional();
|
|
775
780
|
|
|
776
|
-
// src/feature/
|
|
781
|
+
// src/feature/job/schema.ts
|
|
777
782
|
import { days as days4, toDays as toDays2 } from "@awsless/duration";
|
|
778
783
|
import { toMebibytes } from "@awsless/size";
|
|
779
784
|
import { z as z22 } from "zod";
|
|
780
|
-
var CpuSchema = z22.union([z22.literal(0.25), z22.literal(0.5), z22.literal(1), z22.literal(2), z22.literal(4), z22.literal(8), z22.literal(16)]).transform((v) => `${v} vCPU`).describe(
|
|
781
|
-
"The number of virtual CPU units (vCPU) used by the instance. Valid values: 0.25, 0.5, 1, 2, 4, 8, 16 vCPU."
|
|
782
|
-
);
|
|
785
|
+
var CpuSchema = z22.union([z22.literal(0.25), z22.literal(0.5), z22.literal(1), z22.literal(2), z22.literal(4), z22.literal(8), z22.literal(16)]).transform((v) => `${v} vCPU`).describe("The number of virtual CPU units (vCPU) used by the job. Valid values: 0.25, 0.5, 1, 2, 4, 8, 16 vCPU.");
|
|
783
786
|
var validMemorySize = [
|
|
784
787
|
// 0.25 vCPU
|
|
785
788
|
512,
|
|
@@ -816,22 +819,9 @@ var validMemorySize = [
|
|
|
816
819
|
var MemorySizeSchema2 = SizeSchema.refine(
|
|
817
820
|
(s) => validMemorySize.includes(toMebibytes(s)),
|
|
818
821
|
`Invalid memory size. Allowed sizes: ${validMemorySize.join(", ")} MiB`
|
|
819
|
-
).describe("The amount of memory (in MiB) used by the
|
|
820
|
-
var HealthCheckSchema = z22.object({
|
|
821
|
-
path: z22.string().describe("The path that the container runs to determine if it is healthy."),
|
|
822
|
-
interval: DurationSchema.describe("The time period in seconds between each health check execution."),
|
|
823
|
-
retries: z22.number().int().min(1).max(10).describe(
|
|
824
|
-
"The number of times to retry a failed health check before the container is considered unhealthy."
|
|
825
|
-
),
|
|
826
|
-
startPeriod: DurationSchema.describe(
|
|
827
|
-
"The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries."
|
|
828
|
-
),
|
|
829
|
-
timeout: DurationSchema.describe(
|
|
830
|
-
"The time period in seconds to wait for a health check to succeed before it is considered a failure."
|
|
831
|
-
)
|
|
832
|
-
}).describe("The health check command and associated configuration parameters for the container.");
|
|
822
|
+
).describe("The amount of memory (in MiB) used by the job. Valid memory values depend on the CPU configuration.");
|
|
833
823
|
var EnvironmentSchema2 = z22.record(z22.string(), z22.string()).optional().describe("Environment variable key-value pairs.");
|
|
834
|
-
var ArchitectureSchema3 = z22.enum(["x86_64", "arm64"]).describe("The instruction set architecture that the
|
|
824
|
+
var ArchitectureSchema3 = z22.enum(["x86_64", "arm64"]).describe("The instruction set architecture that the job supports.");
|
|
835
825
|
var ActionSchema2 = z22.string();
|
|
836
826
|
var ActionsSchema2 = z22.union([ActionSchema2.transform((v) => [v]), ActionSchema2.array()]);
|
|
837
827
|
var ArnSchema2 = z22.string().startsWith("arn:");
|
|
@@ -843,9 +833,7 @@ var PermissionSchema2 = z22.object({
|
|
|
843
833
|
actions: ActionsSchema2,
|
|
844
834
|
resources: ResourcesSchema2
|
|
845
835
|
});
|
|
846
|
-
var PermissionsSchema2 = z22.union([PermissionSchema2.transform((v) => [v]), PermissionSchema2.array()]).describe("Add IAM permissions to your
|
|
847
|
-
var DescriptionSchema2 = z22.string().describe("A description of the instance.");
|
|
848
|
-
var ImageSchema = z22.string().optional().describe("The URL of the container image to use.");
|
|
836
|
+
var PermissionsSchema2 = z22.union([PermissionSchema2.transform((v) => [v]), PermissionSchema2.array()]).describe("Add IAM permissions to your job.");
|
|
849
837
|
var validLogRetentionDays2 = [
|
|
850
838
|
...[1, 3, 5, 7, 14, 30, 60, 90, 120, 150],
|
|
851
839
|
...[180, 365, 400, 545, 731, 1096, 1827, 2192],
|
|
@@ -858,7 +846,7 @@ var LogRetentionSchema2 = DurationSchema.refine(
|
|
|
858
846
|
(duration) => {
|
|
859
847
|
return validLogRetentionDays2.includes(toDays2(duration));
|
|
860
848
|
},
|
|
861
|
-
`Invalid log retention. Valid days are: ${validLogRetentionDays2.map((
|
|
849
|
+
`Invalid log retention. Valid days are: ${validLogRetentionDays2.map((days6) => `${days6}`).join(", ")}`
|
|
862
850
|
).describe("The log retention duration.");
|
|
863
851
|
var LogSchema2 = z22.union([
|
|
864
852
|
z22.boolean().transform((enabled) => ({ retention: enabled ? days4(7) : days4(0) })),
|
|
@@ -868,59 +856,202 @@ var LogSchema2 = z22.union([
|
|
|
868
856
|
})
|
|
869
857
|
]).describe("Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.");
|
|
870
858
|
var FileCodeSchema2 = z22.object({
|
|
871
|
-
file: LocalFileSchema.describe("The file path of the
|
|
859
|
+
file: LocalFileSchema.describe("The file path of the job code.")
|
|
872
860
|
});
|
|
873
861
|
var CodeSchema2 = z22.union([
|
|
874
862
|
LocalFileSchema.transform((file) => ({
|
|
875
863
|
file
|
|
876
864
|
})).pipe(FileCodeSchema2),
|
|
877
865
|
FileCodeSchema2
|
|
878
|
-
]).describe("Specify the code of your
|
|
879
|
-
var
|
|
866
|
+
]).describe("Specify the code of your job.");
|
|
867
|
+
var TimeoutSchema3 = DurationSchema.describe("The maximum time the job is allowed to run before being stopped.");
|
|
868
|
+
var ImageSchema = z22.string().describe("The URL of the container image to use.");
|
|
869
|
+
var PersistentStorageSchema = z22.boolean().describe("Mount persistent storage for the job at a fixed internal path.");
|
|
870
|
+
var StartupCommandSchema = z22.union([z22.string().transform((v) => [v]), z22.string().array()]).describe("Optional shell commands to run before the job executable is downloaded and started.");
|
|
871
|
+
var ASchema = z22.object({
|
|
880
872
|
code: CodeSchema2,
|
|
881
|
-
description: DescriptionSchema2.optional(),
|
|
882
873
|
image: ImageSchema.optional(),
|
|
874
|
+
persistentStorage: PersistentStorageSchema.optional(),
|
|
875
|
+
startupCommand: StartupCommandSchema.optional(),
|
|
883
876
|
log: LogSchema2.optional(),
|
|
884
877
|
cpu: CpuSchema.optional(),
|
|
885
878
|
memorySize: MemorySizeSchema2.optional(),
|
|
886
879
|
architecture: ArchitectureSchema3.optional(),
|
|
887
880
|
environment: EnvironmentSchema2.optional(),
|
|
888
881
|
permissions: PermissionsSchema2.optional(),
|
|
889
|
-
|
|
890
|
-
// restartPolicy: RestartPolicySchema.optional(),
|
|
882
|
+
timeout: TimeoutSchema3.default("30 minutes").describe("The maximum time the job is allowed to run before being stopped. Default: 30 minutes.")
|
|
891
883
|
});
|
|
892
|
-
var
|
|
884
|
+
var JobSchema = z22.union([
|
|
893
885
|
LocalFileSchema.transform((code) => ({
|
|
894
886
|
code
|
|
895
|
-
})).pipe(
|
|
896
|
-
|
|
887
|
+
})).pipe(ASchema),
|
|
888
|
+
ASchema
|
|
897
889
|
]);
|
|
898
|
-
var
|
|
899
|
-
var
|
|
890
|
+
var JobsSchema = z22.record(ResourceIdSchema, JobSchema).optional().describe("Define the jobs in your stack.");
|
|
891
|
+
var JobDefaultSchema = z22.object({
|
|
900
892
|
image: ImageSchema.optional(),
|
|
893
|
+
persistentStorage: PersistentStorageSchema.optional(),
|
|
901
894
|
cpu: CpuSchema.default(0.25),
|
|
902
895
|
memorySize: MemorySizeSchema2.default("512 MB"),
|
|
903
896
|
architecture: ArchitectureSchema3.default("arm64"),
|
|
904
897
|
environment: EnvironmentSchema2.optional(),
|
|
905
898
|
permissions: PermissionsSchema2.optional(),
|
|
906
|
-
|
|
907
|
-
// restartPolicy: RestartPolicySchema.default({ enabled: true }),
|
|
899
|
+
timeout: TimeoutSchema3.optional(),
|
|
908
900
|
log: LogSchema2.default(true).transform((log) => ({
|
|
909
901
|
retention: log.retention ?? days4(7)
|
|
910
902
|
}))
|
|
911
903
|
}).default({});
|
|
912
904
|
|
|
905
|
+
// src/feature/instance/schema.ts
|
|
906
|
+
import { days as days5, toDays as toDays3 } from "@awsless/duration";
|
|
907
|
+
import { toMebibytes as toMebibytes2 } from "@awsless/size";
|
|
908
|
+
import { z as z23 } from "zod";
|
|
909
|
+
var CpuSchema2 = z23.union([z23.literal(0.25), z23.literal(0.5), z23.literal(1), z23.literal(2), z23.literal(4), z23.literal(8), z23.literal(16)]).transform((v) => `${v} vCPU`).describe(
|
|
910
|
+
"The number of virtual CPU units (vCPU) used by the instance. Valid values: 0.25, 0.5, 1, 2, 4, 8, 16 vCPU."
|
|
911
|
+
);
|
|
912
|
+
var validMemorySize2 = [
|
|
913
|
+
// 0.25 vCPU
|
|
914
|
+
512,
|
|
915
|
+
1024,
|
|
916
|
+
2048,
|
|
917
|
+
// 0.5 vCPU
|
|
918
|
+
1024,
|
|
919
|
+
2048,
|
|
920
|
+
3072,
|
|
921
|
+
4096,
|
|
922
|
+
// 1 vCPU
|
|
923
|
+
2048,
|
|
924
|
+
3072,
|
|
925
|
+
4096,
|
|
926
|
+
5120,
|
|
927
|
+
6144,
|
|
928
|
+
7168,
|
|
929
|
+
8192,
|
|
930
|
+
// 2 vCPU
|
|
931
|
+
4096,
|
|
932
|
+
5120,
|
|
933
|
+
6144,
|
|
934
|
+
7168,
|
|
935
|
+
8192,
|
|
936
|
+
9216,
|
|
937
|
+
10240,
|
|
938
|
+
11264,
|
|
939
|
+
12288,
|
|
940
|
+
13312,
|
|
941
|
+
14336,
|
|
942
|
+
15360,
|
|
943
|
+
16384
|
|
944
|
+
];
|
|
945
|
+
var MemorySizeSchema3 = SizeSchema.refine(
|
|
946
|
+
(s) => validMemorySize2.includes(toMebibytes2(s)),
|
|
947
|
+
`Invalid memory size. Allowed sizes: ${validMemorySize2.join(", ")} MiB`
|
|
948
|
+
).describe("The amount of memory (in MiB) used by the instance. Valid memory values depend on the CPU configuration.");
|
|
949
|
+
var HealthCheckSchema = z23.object({
|
|
950
|
+
path: z23.string().describe("The path that the container runs to determine if it is healthy."),
|
|
951
|
+
interval: DurationSchema.describe("The time period in seconds between each health check execution."),
|
|
952
|
+
retries: z23.number().int().min(1).max(10).describe(
|
|
953
|
+
"The number of times to retry a failed health check before the container is considered unhealthy."
|
|
954
|
+
),
|
|
955
|
+
startPeriod: DurationSchema.describe(
|
|
956
|
+
"The optional grace period to provide containers time to bootstrap before failed health checks count towards the maximum number of retries."
|
|
957
|
+
),
|
|
958
|
+
timeout: DurationSchema.describe(
|
|
959
|
+
"The time period in seconds to wait for a health check to succeed before it is considered a failure."
|
|
960
|
+
)
|
|
961
|
+
}).describe("The health check command and associated configuration parameters for the container.");
|
|
962
|
+
var EnvironmentSchema3 = z23.record(z23.string(), z23.string()).optional().describe("Environment variable key-value pairs.");
|
|
963
|
+
var ArchitectureSchema4 = z23.enum(["x86_64", "arm64"]).describe("The instruction set architecture that the instance supports.");
|
|
964
|
+
var ActionSchema3 = z23.string();
|
|
965
|
+
var ActionsSchema3 = z23.union([ActionSchema3.transform((v) => [v]), ActionSchema3.array()]);
|
|
966
|
+
var ArnSchema3 = z23.string().startsWith("arn:");
|
|
967
|
+
var WildcardSchema3 = z23.literal("*");
|
|
968
|
+
var ResourceSchema3 = z23.union([ArnSchema3, WildcardSchema3]);
|
|
969
|
+
var ResourcesSchema3 = z23.union([ResourceSchema3.transform((v) => [v]), ResourceSchema3.array()]);
|
|
970
|
+
var PermissionSchema3 = z23.object({
|
|
971
|
+
effect: z23.enum(["allow", "deny"]).default("allow"),
|
|
972
|
+
actions: ActionsSchema3,
|
|
973
|
+
resources: ResourcesSchema3
|
|
974
|
+
});
|
|
975
|
+
var PermissionsSchema3 = z23.union([PermissionSchema3.transform((v) => [v]), PermissionSchema3.array()]).describe("Add IAM permissions to your instance.");
|
|
976
|
+
var DescriptionSchema2 = z23.string().describe("A description of the instance.");
|
|
977
|
+
var ImageSchema2 = z23.string().optional().describe("The URL of the container image to use.");
|
|
978
|
+
var validLogRetentionDays3 = [
|
|
979
|
+
...[1, 3, 5, 7, 14, 30, 60, 90, 120, 150],
|
|
980
|
+
...[180, 365, 400, 545, 731, 1096, 1827, 2192],
|
|
981
|
+
...[2557, 2922, 3288, 3653]
|
|
982
|
+
];
|
|
983
|
+
var LogRetentionSchema3 = DurationSchema.refine(
|
|
984
|
+
durationMin(days5(0)),
|
|
985
|
+
"Minimum log retention is 0 day, which will disable logging."
|
|
986
|
+
).refine(
|
|
987
|
+
(duration) => {
|
|
988
|
+
return validLogRetentionDays3.includes(toDays3(duration));
|
|
989
|
+
},
|
|
990
|
+
`Invalid log retention. Valid days are: ${validLogRetentionDays3.map((days6) => `${days6}`).join(", ")}`
|
|
991
|
+
).describe("The log retention duration.");
|
|
992
|
+
var LogSchema3 = z23.union([
|
|
993
|
+
z23.boolean().transform((enabled) => ({ retention: enabled ? days5(7) : days5(0) })),
|
|
994
|
+
LogRetentionSchema3.transform((retention) => ({ retention })),
|
|
995
|
+
z23.object({
|
|
996
|
+
retention: LogRetentionSchema3.optional()
|
|
997
|
+
})
|
|
998
|
+
]).describe("Enable logging to a CloudWatch log group. Providing a duration value will set the log retention time.");
|
|
999
|
+
var FileCodeSchema3 = z23.object({
|
|
1000
|
+
file: LocalFileSchema.describe("The file path of the instance code.")
|
|
1001
|
+
});
|
|
1002
|
+
var CodeSchema3 = z23.union([
|
|
1003
|
+
LocalFileSchema.transform((file) => ({
|
|
1004
|
+
file
|
|
1005
|
+
})).pipe(FileCodeSchema3),
|
|
1006
|
+
FileCodeSchema3
|
|
1007
|
+
]).describe("Specify the code of your instance.");
|
|
1008
|
+
var StartupCommandSchema2 = z23.union([z23.string().transform((v) => [v]), z23.string().array()]).describe("Optional shell commands to run before the instance program starts.");
|
|
1009
|
+
var ISchema = z23.object({
|
|
1010
|
+
code: CodeSchema3,
|
|
1011
|
+
description: DescriptionSchema2.optional(),
|
|
1012
|
+
image: ImageSchema2.optional(),
|
|
1013
|
+
startupCommand: StartupCommandSchema2.optional(),
|
|
1014
|
+
log: LogSchema3.optional(),
|
|
1015
|
+
cpu: CpuSchema2.optional(),
|
|
1016
|
+
memorySize: MemorySizeSchema3.optional(),
|
|
1017
|
+
architecture: ArchitectureSchema4.optional(),
|
|
1018
|
+
environment: EnvironmentSchema3.optional(),
|
|
1019
|
+
permissions: PermissionsSchema3.optional(),
|
|
1020
|
+
healthCheck: HealthCheckSchema.optional()
|
|
1021
|
+
// restartPolicy: RestartPolicySchema.optional(),
|
|
1022
|
+
});
|
|
1023
|
+
var InstanceSchema = z23.union([
|
|
1024
|
+
LocalFileSchema.transform((code) => ({
|
|
1025
|
+
code
|
|
1026
|
+
})).pipe(ISchema),
|
|
1027
|
+
ISchema
|
|
1028
|
+
]);
|
|
1029
|
+
var InstancesSchema = z23.record(ResourceIdSchema, InstanceSchema).optional().describe("Define the instances in your stack.");
|
|
1030
|
+
var InstanceDefaultSchema = z23.object({
|
|
1031
|
+
image: ImageSchema2.optional(),
|
|
1032
|
+
cpu: CpuSchema2.default(0.25),
|
|
1033
|
+
memorySize: MemorySizeSchema3.default("512 MB"),
|
|
1034
|
+
architecture: ArchitectureSchema4.default("arm64"),
|
|
1035
|
+
environment: EnvironmentSchema3.optional(),
|
|
1036
|
+
permissions: PermissionsSchema3.optional(),
|
|
1037
|
+
healthCheck: HealthCheckSchema.optional(),
|
|
1038
|
+
// restartPolicy: RestartPolicySchema.default({ enabled: true }),
|
|
1039
|
+
log: LogSchema3.default(true).transform((log) => ({
|
|
1040
|
+
retention: log.retention ?? days5(7)
|
|
1041
|
+
}))
|
|
1042
|
+
}).default({});
|
|
1043
|
+
|
|
913
1044
|
// src/feature/topic/schema.ts
|
|
914
1045
|
import { kebabCase as kebabCase3 } from "change-case";
|
|
915
|
-
import { z as
|
|
916
|
-
var TopicNameSchema =
|
|
917
|
-
var TopicsDefaultSchema =
|
|
1046
|
+
import { z as z24 } from "zod";
|
|
1047
|
+
var TopicNameSchema = z24.string().min(3).max(256).regex(/^[a-z0-9\-]+$/i, "Invalid topic name").transform((value) => kebabCase3(value)).describe("Define event topic name.");
|
|
1048
|
+
var TopicsDefaultSchema = z24.array(TopicNameSchema).refine((topics) => {
|
|
918
1049
|
return topics.length === new Set(topics).size;
|
|
919
1050
|
}, "Must be a list of unique topic names").optional().describe("Define the event topics for your app.");
|
|
920
|
-
var SubscribersSchema =
|
|
1051
|
+
var SubscribersSchema = z24.record(TopicNameSchema, TaskSchema).optional().describe("Define the event topics to subscribe too in your stack.");
|
|
921
1052
|
|
|
922
1053
|
// src/config/schema/region.ts
|
|
923
|
-
import { z as
|
|
1054
|
+
import { z as z25 } from "zod";
|
|
924
1055
|
var US = ["us-east-2", "us-east-1", "us-west-1", "us-west-2"];
|
|
925
1056
|
var AF = ["af-south-1"];
|
|
926
1057
|
var AP = [
|
|
@@ -949,16 +1080,16 @@ var EU = [
|
|
|
949
1080
|
var ME = ["me-south-1", "me-central-1"];
|
|
950
1081
|
var SA = ["sa-east-1"];
|
|
951
1082
|
var regions = [...US, ...AF, ...AP, ...CA, ...EU, ...ME, ...SA];
|
|
952
|
-
var RegionSchema =
|
|
1083
|
+
var RegionSchema = z25.enum(regions);
|
|
953
1084
|
|
|
954
1085
|
// src/config/app.ts
|
|
955
|
-
var AppSchema =
|
|
956
|
-
$schema:
|
|
1086
|
+
var AppSchema = z26.object({
|
|
1087
|
+
$schema: z26.string().optional(),
|
|
957
1088
|
name: ResourceIdSchema.describe("App name."),
|
|
958
1089
|
region: RegionSchema.describe("The AWS region to deploy to."),
|
|
959
|
-
profile:
|
|
960
|
-
protect:
|
|
961
|
-
removal:
|
|
1090
|
+
profile: z26.string().describe("The AWS profile to deploy to."),
|
|
1091
|
+
protect: z26.boolean().default(false).describe("Protect your app & stacks from being deleted."),
|
|
1092
|
+
removal: z26.enum(["remove", "retain"]).default("remove").describe(
|
|
962
1093
|
[
|
|
963
1094
|
"Configure how your resources are handled when they have to be removed.",
|
|
964
1095
|
"",
|
|
@@ -972,13 +1103,14 @@ var AppSchema = z25.object({
|
|
|
972
1103
|
// .default('prod')
|
|
973
1104
|
// .describe('The deployment stage.'),
|
|
974
1105
|
// onFailure: OnFailureSchema,
|
|
975
|
-
defaults:
|
|
1106
|
+
defaults: z26.object({
|
|
976
1107
|
onFailure: OnFailureDefaultSchema,
|
|
977
1108
|
onErrorLog: OnErrorLogDefaultSchema,
|
|
978
1109
|
auth: AuthDefaultSchema,
|
|
979
1110
|
domains: DomainsDefaultSchema,
|
|
980
1111
|
function: FunctionDefaultSchema,
|
|
981
1112
|
instance: InstanceDefaultSchema,
|
|
1113
|
+
job: JobDefaultSchema,
|
|
982
1114
|
queue: QueueDefaultSchema,
|
|
983
1115
|
// graphql: GraphQLDefaultSchema,
|
|
984
1116
|
// http: HttpDefaultSchema,
|
|
@@ -996,11 +1128,11 @@ var AppSchema = z25.object({
|
|
|
996
1128
|
});
|
|
997
1129
|
|
|
998
1130
|
// src/config/stack.ts
|
|
999
|
-
import { z as
|
|
1131
|
+
import { z as z41 } from "zod";
|
|
1000
1132
|
|
|
1001
1133
|
// src/feature/cache/schema.ts
|
|
1002
1134
|
import { gibibytes as gibibytes2 } from "@awsless/size";
|
|
1003
|
-
import { z as
|
|
1135
|
+
import { z as z27 } from "zod";
|
|
1004
1136
|
var StorageSchema = SizeSchema.refine(sizeMin(gibibytes2(1)), "Minimum storage size is 1 GB").refine(
|
|
1005
1137
|
sizeMax(gibibytes2(5e3)),
|
|
1006
1138
|
"Maximum storage size is 5000 GB"
|
|
@@ -1011,31 +1143,31 @@ var MinimumStorageSchema = StorageSchema.describe(
|
|
|
1011
1143
|
var MaximumStorageSchema = StorageSchema.describe(
|
|
1012
1144
|
"The upper limit for data storage the cache is set to use. You can specify a size value from 1 GB to 5000 GB."
|
|
1013
1145
|
);
|
|
1014
|
-
var EcpuSchema =
|
|
1146
|
+
var EcpuSchema = z27.number().int().min(1e3).max(15e6);
|
|
1015
1147
|
var MinimumEcpuSchema = EcpuSchema.describe(
|
|
1016
1148
|
"The minimum number of ECPUs the cache can consume per second. You can specify a integer from 1,000 to 15,000,000."
|
|
1017
1149
|
);
|
|
1018
1150
|
var MaximumEcpuSchema = EcpuSchema.describe(
|
|
1019
1151
|
"The maximum number of ECPUs the cache can consume per second. You can specify a integer from 1,000 to 15,000,000."
|
|
1020
1152
|
);
|
|
1021
|
-
var CachesSchema =
|
|
1153
|
+
var CachesSchema = z27.record(
|
|
1022
1154
|
ResourceIdSchema,
|
|
1023
|
-
|
|
1155
|
+
z27.object({
|
|
1024
1156
|
minStorage: MinimumStorageSchema.optional(),
|
|
1025
1157
|
maxStorage: MaximumStorageSchema.optional(),
|
|
1026
1158
|
minECPU: MinimumEcpuSchema.optional(),
|
|
1027
1159
|
maxECPU: MaximumEcpuSchema.optional(),
|
|
1028
|
-
snapshotRetentionLimit:
|
|
1160
|
+
snapshotRetentionLimit: z27.number().int().positive().default(1)
|
|
1029
1161
|
})
|
|
1030
1162
|
).optional().describe("Define the caches in your stack. For access to the cache put your functions inside the global VPC.");
|
|
1031
1163
|
|
|
1032
1164
|
// src/feature/command/schema.ts
|
|
1033
|
-
import { z as
|
|
1034
|
-
var CommandSchema =
|
|
1035
|
-
|
|
1165
|
+
import { z as z28 } from "zod";
|
|
1166
|
+
var CommandSchema = z28.union([
|
|
1167
|
+
z28.object({
|
|
1036
1168
|
file: LocalFileSchema,
|
|
1037
|
-
handler:
|
|
1038
|
-
description:
|
|
1169
|
+
handler: z28.string().default("default").describe("The name of the handler that needs to run"),
|
|
1170
|
+
description: z28.string().optional().describe("A description of the command")
|
|
1039
1171
|
// options: z.record(ResourceIdSchema, OptionSchema).optional(),
|
|
1040
1172
|
// arguments: z.record(ResourceIdSchema, ArgumentSchema).optional(),
|
|
1041
1173
|
}),
|
|
@@ -1045,22 +1177,22 @@ var CommandSchema = z27.union([
|
|
|
1045
1177
|
description: void 0
|
|
1046
1178
|
}))
|
|
1047
1179
|
]);
|
|
1048
|
-
var CommandsSchema =
|
|
1180
|
+
var CommandsSchema = z28.record(ResourceIdSchema, CommandSchema).optional().describe("Define the custom commands for your stack.");
|
|
1049
1181
|
|
|
1050
1182
|
// src/feature/config/schema.ts
|
|
1051
|
-
import { z as
|
|
1052
|
-
var ConfigNameSchema =
|
|
1053
|
-
var ConfigsSchema =
|
|
1183
|
+
import { z as z29 } from "zod";
|
|
1184
|
+
var ConfigNameSchema = z29.string().regex(/[a-z0-9\-]/g, "Invalid config name");
|
|
1185
|
+
var ConfigsSchema = z29.array(ConfigNameSchema).optional().describe("Define the config values for your stack.");
|
|
1054
1186
|
|
|
1055
1187
|
// src/feature/cron/schema/index.ts
|
|
1056
|
-
import { z as
|
|
1188
|
+
import { z as z31 } from "zod";
|
|
1057
1189
|
|
|
1058
1190
|
// src/feature/cron/schema/schedule.ts
|
|
1059
|
-
import { z as
|
|
1191
|
+
import { z as z30 } from "zod";
|
|
1060
1192
|
import { awsCronExpressionValidator } from "aws-cron-expression-validator";
|
|
1061
|
-
var RateExpressionSchema =
|
|
1193
|
+
var RateExpressionSchema = z30.custom(
|
|
1062
1194
|
(value) => {
|
|
1063
|
-
return
|
|
1195
|
+
return z30.string().regex(/^[0-9]+ (seconds?|minutes?|hours?|days?)$/).refine((rate) => {
|
|
1064
1196
|
const [str] = rate.split(" ");
|
|
1065
1197
|
const number = parseInt(str);
|
|
1066
1198
|
return number > 0;
|
|
@@ -1076,9 +1208,9 @@ var RateExpressionSchema = z29.custom(
|
|
|
1076
1208
|
}
|
|
1077
1209
|
return `rate(${rate})`;
|
|
1078
1210
|
});
|
|
1079
|
-
var CronExpressionSchema =
|
|
1211
|
+
var CronExpressionSchema = z30.custom(
|
|
1080
1212
|
(value) => {
|
|
1081
|
-
return
|
|
1213
|
+
return z30.string().safeParse(value).success;
|
|
1082
1214
|
},
|
|
1083
1215
|
{ message: "Invalid cron expression" }
|
|
1084
1216
|
).superRefine((value, ctx) => {
|
|
@@ -1087,12 +1219,12 @@ var CronExpressionSchema = z29.custom(
|
|
|
1087
1219
|
} catch (error) {
|
|
1088
1220
|
if (error instanceof Error) {
|
|
1089
1221
|
ctx.addIssue({
|
|
1090
|
-
code:
|
|
1222
|
+
code: z30.ZodIssueCode.custom,
|
|
1091
1223
|
message: `Invalid cron expression: ${error.message}`
|
|
1092
1224
|
});
|
|
1093
1225
|
} else {
|
|
1094
1226
|
ctx.addIssue({
|
|
1095
|
-
code:
|
|
1227
|
+
code: z30.ZodIssueCode.custom,
|
|
1096
1228
|
message: "Invalid cron expression"
|
|
1097
1229
|
});
|
|
1098
1230
|
}
|
|
@@ -1103,32 +1235,32 @@ var CronExpressionSchema = z29.custom(
|
|
|
1103
1235
|
var ScheduleExpressionSchema = RateExpressionSchema.or(CronExpressionSchema);
|
|
1104
1236
|
|
|
1105
1237
|
// src/feature/cron/schema/index.ts
|
|
1106
|
-
var RetryAttemptsSchema4 =
|
|
1238
|
+
var RetryAttemptsSchema4 = z31.number().int().min(0).max(2).describe(
|
|
1107
1239
|
"The maximum number of times to retry when the function returns an error. You can specify a number from 0 to 2."
|
|
1108
1240
|
);
|
|
1109
|
-
var CronsSchema =
|
|
1241
|
+
var CronsSchema = z31.record(
|
|
1110
1242
|
ResourceIdSchema,
|
|
1111
|
-
|
|
1112
|
-
enabled:
|
|
1243
|
+
z31.object({
|
|
1244
|
+
enabled: z31.boolean().default(true).describe("If the cron is enabled."),
|
|
1113
1245
|
consumer: FunctionSchema.describe("The consuming lambda function properties."),
|
|
1114
1246
|
schedule: ScheduleExpressionSchema.describe(
|
|
1115
1247
|
'The scheduling expression.\n\nexample: "0 20 * * ? *"\nexample: "5 minutes"'
|
|
1116
1248
|
),
|
|
1117
|
-
payload:
|
|
1249
|
+
payload: z31.unknown().optional().describe("The JSON payload that will be passed to the consumer."),
|
|
1118
1250
|
retryAttempts: RetryAttemptsSchema4.default(2)
|
|
1119
1251
|
})
|
|
1120
1252
|
).optional().describe(`Define the cron jobs in your stack.`);
|
|
1121
1253
|
|
|
1122
1254
|
// src/feature/search/schema.ts
|
|
1123
1255
|
import { gibibytes as gibibytes3 } from "@awsless/size";
|
|
1124
|
-
import { z as
|
|
1125
|
-
var VersionSchema =
|
|
1256
|
+
import { z as z32 } from "zod";
|
|
1257
|
+
var VersionSchema = z32.union([
|
|
1126
1258
|
//
|
|
1127
|
-
|
|
1128
|
-
|
|
1259
|
+
z32.enum(["2.13", "2.11", "2.9", "2.7", "2.5", "2.3", "1.3"]),
|
|
1260
|
+
z32.string()
|
|
1129
1261
|
]).describe("Specify the OpenSearch engine version.");
|
|
1130
|
-
var TypeSchema =
|
|
1131
|
-
|
|
1262
|
+
var TypeSchema = z32.union([
|
|
1263
|
+
z32.enum([
|
|
1132
1264
|
"t3.small",
|
|
1133
1265
|
"t3.medium",
|
|
1134
1266
|
"m3.medium",
|
|
@@ -1202,13 +1334,13 @@ var TypeSchema = z31.union([
|
|
|
1202
1334
|
"r6gd.12xlarge",
|
|
1203
1335
|
"r6gd.16xlarge"
|
|
1204
1336
|
]),
|
|
1205
|
-
|
|
1337
|
+
z32.string()
|
|
1206
1338
|
]).describe("Instance type of data nodes in the cluster.");
|
|
1207
|
-
var CountSchema =
|
|
1339
|
+
var CountSchema = z32.number().int().min(1).describe("Number of instances in the cluster.");
|
|
1208
1340
|
var StorageSizeSchema = SizeSchema.refine(sizeMin(gibibytes3(10)), "Minimum storage size is 10 GB").refine(sizeMax(gibibytes3(100)), "Maximum storage size is 100 GB").describe("The size of the function's /tmp directory. You can specify a size value from 512 MB to 10 GiB.");
|
|
1209
|
-
var SearchsSchema =
|
|
1341
|
+
var SearchsSchema = z32.record(
|
|
1210
1342
|
ResourceIdSchema,
|
|
1211
|
-
|
|
1343
|
+
z32.object({
|
|
1212
1344
|
type: TypeSchema.default("t3.small"),
|
|
1213
1345
|
count: CountSchema.default(1),
|
|
1214
1346
|
version: VersionSchema.default("2.13"),
|
|
@@ -1219,12 +1351,12 @@ var SearchsSchema = z31.record(
|
|
|
1219
1351
|
).optional().describe("Define the search instances in your stack. Backed by OpenSearch.");
|
|
1220
1352
|
|
|
1221
1353
|
// src/feature/site/schema.ts
|
|
1222
|
-
import { z as
|
|
1354
|
+
import { z as z34 } from "zod";
|
|
1223
1355
|
|
|
1224
1356
|
// src/config/schema/local-entry.ts
|
|
1225
1357
|
import { stat as stat3 } from "fs/promises";
|
|
1226
|
-
import { z as
|
|
1227
|
-
var LocalEntrySchema =
|
|
1358
|
+
import { z as z33 } from "zod";
|
|
1359
|
+
var LocalEntrySchema = z33.union([
|
|
1228
1360
|
RelativePathSchema.refine(async (path) => {
|
|
1229
1361
|
try {
|
|
1230
1362
|
const s = await stat3(path);
|
|
@@ -1233,7 +1365,7 @@ var LocalEntrySchema = z32.union([
|
|
|
1233
1365
|
return false;
|
|
1234
1366
|
}
|
|
1235
1367
|
}, `File or directory doesn't exist`),
|
|
1236
|
-
|
|
1368
|
+
z33.object({
|
|
1237
1369
|
nocheck: RelativePathSchema.describe(
|
|
1238
1370
|
"Specifies a local file or directory without checking if the file or directory exists."
|
|
1239
1371
|
)
|
|
@@ -1241,21 +1373,21 @@ var LocalEntrySchema = z32.union([
|
|
|
1241
1373
|
]);
|
|
1242
1374
|
|
|
1243
1375
|
// src/feature/site/schema.ts
|
|
1244
|
-
var SitesSchema =
|
|
1376
|
+
var SitesSchema = z34.record(
|
|
1245
1377
|
ResourceIdSchema,
|
|
1246
|
-
|
|
1378
|
+
z34.object({
|
|
1247
1379
|
router: ResourceIdSchema.describe("The router id to link your site with."),
|
|
1248
1380
|
path: RouteSchema2.describe("The path inside the router to link your site to."),
|
|
1249
|
-
build:
|
|
1250
|
-
command:
|
|
1381
|
+
build: z34.object({
|
|
1382
|
+
command: z34.string().describe(
|
|
1251
1383
|
`Specifies the files and directories to generate the cache key for your custom build command.`
|
|
1252
1384
|
),
|
|
1253
|
-
cacheKey:
|
|
1385
|
+
cacheKey: z34.union([LocalEntrySchema.transform((v) => [v]), LocalEntrySchema.array()]).describe(
|
|
1254
1386
|
`Specifies the files and directories to generate the cache key for your custom build command.`
|
|
1255
1387
|
),
|
|
1256
|
-
configs:
|
|
1388
|
+
configs: z34.string().array().optional().describe("Define the config values for your build command.")
|
|
1257
1389
|
}).optional().describe(`Specifies the build process for sites that need a build step.`),
|
|
1258
|
-
static:
|
|
1390
|
+
static: z34.union([LocalDirectorySchema, z34.boolean()]).optional().describe(
|
|
1259
1391
|
"Specifies the path to the static files directory. Additionally you can also pass `true` when you don't have local static files, but still want to make an S3 bucket."
|
|
1260
1392
|
),
|
|
1261
1393
|
ssr: FunctionSchema.optional().describe("Specifies the file that will render the site on the server.")
|
|
@@ -1263,21 +1395,21 @@ var SitesSchema = z33.record(
|
|
|
1263
1395
|
).optional().describe("Define the sites in your stack.");
|
|
1264
1396
|
|
|
1265
1397
|
// src/feature/store/schema.ts
|
|
1266
|
-
import { z as
|
|
1267
|
-
var StoresSchema =
|
|
1268
|
-
|
|
1398
|
+
import { z as z35 } from "zod";
|
|
1399
|
+
var StoresSchema = z35.union([
|
|
1400
|
+
z35.array(ResourceIdSchema).transform((list) => {
|
|
1269
1401
|
const stores = {};
|
|
1270
1402
|
for (const key of list) {
|
|
1271
1403
|
stores[key] = {};
|
|
1272
1404
|
}
|
|
1273
1405
|
return stores;
|
|
1274
1406
|
}),
|
|
1275
|
-
|
|
1407
|
+
z35.record(
|
|
1276
1408
|
ResourceIdSchema,
|
|
1277
|
-
|
|
1409
|
+
z35.object({
|
|
1278
1410
|
static: LocalDirectorySchema.optional().describe("Specifies the path to the static files directory."),
|
|
1279
|
-
versioning:
|
|
1280
|
-
events:
|
|
1411
|
+
versioning: z35.boolean().default(false).describe("Enable versioning of your store."),
|
|
1412
|
+
events: z35.object({
|
|
1281
1413
|
// create
|
|
1282
1414
|
"created:*": TaskSchema.optional().describe(
|
|
1283
1415
|
"Subscribe to notifications regardless of the API that was used to create an object."
|
|
@@ -1310,30 +1442,30 @@ var StoresSchema = z34.union([
|
|
|
1310
1442
|
]).optional().describe("Define the stores in your stack.");
|
|
1311
1443
|
|
|
1312
1444
|
// src/feature/icon/schema.ts
|
|
1313
|
-
import { z as
|
|
1445
|
+
import { z as z36 } from "zod";
|
|
1314
1446
|
var staticOriginSchema = LocalDirectorySchema.describe(
|
|
1315
1447
|
"Specifies the path to a local image directory that will be uploaded in S3."
|
|
1316
1448
|
);
|
|
1317
1449
|
var functionOriginSchema = FunctionSchema.describe(
|
|
1318
1450
|
"Specifies the file that will be called when an image isn't found in the (cache) bucket."
|
|
1319
1451
|
);
|
|
1320
|
-
var IconsSchema =
|
|
1452
|
+
var IconsSchema = z36.record(
|
|
1321
1453
|
ResourceIdSchema,
|
|
1322
|
-
|
|
1454
|
+
z36.object({
|
|
1323
1455
|
// domain: ResourceIdSchema.describe('The domain id to link your site with.').optional(),
|
|
1324
1456
|
// subDomain: z.string().optional(),
|
|
1325
1457
|
router: ResourceIdSchema.describe("The router id to link your icon proxy."),
|
|
1326
1458
|
path: RouteSchema2.describe("The path inside the router to link your icon proxy to."),
|
|
1327
1459
|
log: LogSchema.optional(),
|
|
1328
1460
|
cacheDuration: DurationSchema.optional().describe("The cache duration of the cached icons."),
|
|
1329
|
-
preserveIds:
|
|
1330
|
-
symbols:
|
|
1331
|
-
origin:
|
|
1332
|
-
|
|
1461
|
+
preserveIds: z36.boolean().optional().default(false).describe("Preserve the IDs of the icons."),
|
|
1462
|
+
symbols: z36.boolean().optional().default(false).describe(`Convert the SVG's to SVG symbols.`),
|
|
1463
|
+
origin: z36.union([
|
|
1464
|
+
z36.object({
|
|
1333
1465
|
static: staticOriginSchema,
|
|
1334
1466
|
function: functionOriginSchema.optional()
|
|
1335
1467
|
}),
|
|
1336
|
-
|
|
1468
|
+
z36.object({
|
|
1337
1469
|
static: staticOriginSchema.optional(),
|
|
1338
1470
|
function: functionOriginSchema
|
|
1339
1471
|
})
|
|
@@ -1360,13 +1492,13 @@ var IconsSchema = z35.record(
|
|
|
1360
1492
|
).optional().describe("Define an svg icon proxy in your stack. Store, optimize, and deliver svg icons at scale.");
|
|
1361
1493
|
|
|
1362
1494
|
// src/feature/image/schema.ts
|
|
1363
|
-
import { z as
|
|
1364
|
-
var transformationOptionsSchema =
|
|
1365
|
-
width:
|
|
1366
|
-
height:
|
|
1367
|
-
fit:
|
|
1368
|
-
position:
|
|
1369
|
-
quality:
|
|
1495
|
+
import { z as z37 } from "zod";
|
|
1496
|
+
var transformationOptionsSchema = z37.object({
|
|
1497
|
+
width: z37.number().int().positive().optional(),
|
|
1498
|
+
height: z37.number().int().positive().optional(),
|
|
1499
|
+
fit: z37.enum(["cover", "contain", "fill", "inside", "outside"]).optional(),
|
|
1500
|
+
position: z37.enum(["top", "right top", "right", "right bottom", "bottom", "left bottom", "left", "left top", "center"]).optional(),
|
|
1501
|
+
quality: z37.number().int().min(1).max(100).optional()
|
|
1370
1502
|
});
|
|
1371
1503
|
var staticOriginSchema2 = LocalDirectorySchema.describe(
|
|
1372
1504
|
"Specifies the path to a local image directory that will be uploaded in S3."
|
|
@@ -1374,38 +1506,38 @@ var staticOriginSchema2 = LocalDirectorySchema.describe(
|
|
|
1374
1506
|
var functionOriginSchema2 = FunctionSchema.describe(
|
|
1375
1507
|
"Specifies the file that will be called when an image isn't found in the (cache) bucket."
|
|
1376
1508
|
);
|
|
1377
|
-
var ImagesSchema =
|
|
1509
|
+
var ImagesSchema = z37.record(
|
|
1378
1510
|
ResourceIdSchema,
|
|
1379
|
-
|
|
1511
|
+
z37.object({
|
|
1380
1512
|
// domain: ResourceIdSchema.describe('The domain id to link your site with.').optional(),
|
|
1381
1513
|
// subDomain: z.string().optional(),
|
|
1382
1514
|
router: ResourceIdSchema.describe("The router id to link your image proxy."),
|
|
1383
1515
|
path: RouteSchema2.describe("The path inside the router to link your image proxy to."),
|
|
1384
1516
|
log: LogSchema.optional(),
|
|
1385
1517
|
cacheDuration: DurationSchema.optional().describe("Cache duration of the cached images."),
|
|
1386
|
-
presets:
|
|
1387
|
-
extensions:
|
|
1388
|
-
jpg:
|
|
1389
|
-
mozjpeg:
|
|
1390
|
-
progressive:
|
|
1518
|
+
presets: z37.record(z37.string(), transformationOptionsSchema).describe("Named presets for image transformations"),
|
|
1519
|
+
extensions: z37.object({
|
|
1520
|
+
jpg: z37.object({
|
|
1521
|
+
mozjpeg: z37.boolean().optional(),
|
|
1522
|
+
progressive: z37.boolean().optional()
|
|
1391
1523
|
}).optional(),
|
|
1392
|
-
webp:
|
|
1393
|
-
effort:
|
|
1394
|
-
lossless:
|
|
1395
|
-
nearLossless:
|
|
1524
|
+
webp: z37.object({
|
|
1525
|
+
effort: z37.number().int().min(1).max(10).default(7).optional(),
|
|
1526
|
+
lossless: z37.boolean().optional(),
|
|
1527
|
+
nearLossless: z37.boolean().optional()
|
|
1396
1528
|
}).optional(),
|
|
1397
|
-
png:
|
|
1398
|
-
compressionLevel:
|
|
1529
|
+
png: z37.object({
|
|
1530
|
+
compressionLevel: z37.number().int().min(0).max(9).default(6).optional()
|
|
1399
1531
|
}).optional()
|
|
1400
1532
|
}).refine((data) => {
|
|
1401
1533
|
return Object.keys(data).length > 0;
|
|
1402
1534
|
}, "At least one extension must be defined.").describe("Specify the allowed extensions."),
|
|
1403
|
-
origin:
|
|
1404
|
-
|
|
1535
|
+
origin: z37.union([
|
|
1536
|
+
z37.object({
|
|
1405
1537
|
static: staticOriginSchema2,
|
|
1406
1538
|
function: functionOriginSchema2.optional()
|
|
1407
1539
|
}),
|
|
1408
|
-
|
|
1540
|
+
z37.object({
|
|
1409
1541
|
static: staticOriginSchema2.optional(),
|
|
1410
1542
|
function: functionOriginSchema2
|
|
1411
1543
|
})
|
|
@@ -1420,7 +1552,7 @@ var ImagesSchema = z36.record(
|
|
|
1420
1552
|
).optional().describe("Define an image proxy in your stack. Store, transform, optimize, and deliver images at scale.");
|
|
1421
1553
|
|
|
1422
1554
|
// src/feature/metric/schema.ts
|
|
1423
|
-
import { z as
|
|
1555
|
+
import { z as z38 } from "zod";
|
|
1424
1556
|
var ops = {
|
|
1425
1557
|
">": "GreaterThanThreshold",
|
|
1426
1558
|
">=": "GreaterThanOrEqualToThreshold",
|
|
@@ -1434,15 +1566,15 @@ var stats = {
|
|
|
1434
1566
|
min: "Minimum",
|
|
1435
1567
|
max: "Maximum"
|
|
1436
1568
|
};
|
|
1437
|
-
var WhereSchema =
|
|
1438
|
-
|
|
1569
|
+
var WhereSchema = z38.union([
|
|
1570
|
+
z38.string().regex(/(count|avg|sum|min|max) (>|>=|<|<=) (\d)/, "Invalid where query").transform((where) => {
|
|
1439
1571
|
const [stat4, op, value] = where.split(" ");
|
|
1440
1572
|
return { stat: stat4, op, value: parseFloat(value) };
|
|
1441
1573
|
}),
|
|
1442
|
-
|
|
1443
|
-
stat:
|
|
1444
|
-
op:
|
|
1445
|
-
value:
|
|
1574
|
+
z38.object({
|
|
1575
|
+
stat: z38.enum(["count", "avg", "sum", "min", "max"]),
|
|
1576
|
+
op: z38.enum([">", ">=", "<", "<="]),
|
|
1577
|
+
value: z38.number()
|
|
1446
1578
|
})
|
|
1447
1579
|
]).transform((where) => {
|
|
1448
1580
|
return {
|
|
@@ -1451,39 +1583,39 @@ var WhereSchema = z37.union([
|
|
|
1451
1583
|
value: where.value
|
|
1452
1584
|
};
|
|
1453
1585
|
});
|
|
1454
|
-
var AlarmSchema =
|
|
1455
|
-
description:
|
|
1586
|
+
var AlarmSchema = z38.object({
|
|
1587
|
+
description: z38.string().optional(),
|
|
1456
1588
|
where: WhereSchema,
|
|
1457
1589
|
period: DurationSchema,
|
|
1458
|
-
minDataPoints:
|
|
1459
|
-
trigger:
|
|
1590
|
+
minDataPoints: z38.number().int().default(1),
|
|
1591
|
+
trigger: z38.union([EmailSchema.transform((v) => [v]), EmailSchema.array(), FunctionSchema])
|
|
1460
1592
|
});
|
|
1461
|
-
var MetricsSchema =
|
|
1593
|
+
var MetricsSchema = z38.record(
|
|
1462
1594
|
ResourceIdSchema,
|
|
1463
|
-
|
|
1464
|
-
type:
|
|
1595
|
+
z38.object({
|
|
1596
|
+
type: z38.enum(["number", "size", "duration"]),
|
|
1465
1597
|
alarms: AlarmSchema.array().optional()
|
|
1466
1598
|
})
|
|
1467
1599
|
).optional().describe("Define the metrics in your stack.");
|
|
1468
1600
|
|
|
1469
1601
|
// src/feature/table/schema.ts
|
|
1470
1602
|
import { minutes as minutes5, seconds as seconds4 } from "@awsless/duration";
|
|
1471
|
-
import { z as
|
|
1472
|
-
var KeySchema =
|
|
1473
|
-
var TablesSchema =
|
|
1603
|
+
import { z as z39 } from "zod";
|
|
1604
|
+
var KeySchema = z39.string().min(1).max(255);
|
|
1605
|
+
var TablesSchema = z39.record(
|
|
1474
1606
|
ResourceIdSchema,
|
|
1475
|
-
|
|
1607
|
+
z39.object({
|
|
1476
1608
|
hash: KeySchema.describe(
|
|
1477
1609
|
"Specifies the name of the partition / hash key that makes up the primary key for the table."
|
|
1478
1610
|
),
|
|
1479
1611
|
sort: KeySchema.optional().describe(
|
|
1480
1612
|
"Specifies the name of the range / sort key that makes up the primary key for the table."
|
|
1481
1613
|
),
|
|
1482
|
-
fields:
|
|
1614
|
+
fields: z39.record(z39.string(), z39.enum(["string", "number", "binary"])).optional().describe(
|
|
1483
1615
|
'A list of attributes that describe the key schema for the table and indexes. If no attribute field is defined we default to "string".'
|
|
1484
1616
|
),
|
|
1485
|
-
class:
|
|
1486
|
-
pointInTimeRecovery:
|
|
1617
|
+
class: z39.enum(["standard", "standard-infrequent-access"]).default("standard").describe("The table class of the table."),
|
|
1618
|
+
pointInTimeRecovery: z39.boolean().default(false).describe("Indicates whether point in time recovery is enabled on the table."),
|
|
1487
1619
|
ttl: KeySchema.optional().describe(
|
|
1488
1620
|
[
|
|
1489
1621
|
"The name of the TTL attribute used to store the expiration time for items in the table.",
|
|
@@ -1491,8 +1623,8 @@ var TablesSchema = z38.record(
|
|
|
1491
1623
|
].join("\n")
|
|
1492
1624
|
),
|
|
1493
1625
|
// deletionProtection: DeletionProtectionSchema.optional(),
|
|
1494
|
-
stream:
|
|
1495
|
-
type:
|
|
1626
|
+
stream: z39.object({
|
|
1627
|
+
type: z39.enum(["keys-only", "new-image", "old-image", "new-and-old-images"]).describe(
|
|
1496
1628
|
[
|
|
1497
1629
|
"When an item in the table is modified, you can determines what information is written to the stream for this table.",
|
|
1498
1630
|
"Valid values are:",
|
|
@@ -1502,7 +1634,7 @@ var TablesSchema = z38.record(
|
|
|
1502
1634
|
"- new-and-old-images - Both the new and the old item images of the item are written to the stream."
|
|
1503
1635
|
].join("\n")
|
|
1504
1636
|
),
|
|
1505
|
-
batchSize:
|
|
1637
|
+
batchSize: z39.number().min(1).max(1e4).default(1).describe(
|
|
1506
1638
|
[
|
|
1507
1639
|
"The maximum number of records in each batch that Lambda pulls from your stream and sends to your function.",
|
|
1508
1640
|
"Lambda passes all of the records in the batch to the function in a single call, up to the payload limit for synchronous invocation (6 MB).",
|
|
@@ -1531,7 +1663,7 @@ var TablesSchema = z38.record(
|
|
|
1531
1663
|
// 'The default value is 60s',
|
|
1532
1664
|
// ].join('\n')
|
|
1533
1665
|
// ),
|
|
1534
|
-
retryAttempts:
|
|
1666
|
+
retryAttempts: z39.number().min(-1).max(1e4).default(2).describe(
|
|
1535
1667
|
[
|
|
1536
1668
|
"Discard records after the specified number of retries.",
|
|
1537
1669
|
"-1 will sets the maximum number of retries to infinite.",
|
|
@@ -1540,7 +1672,7 @@ var TablesSchema = z38.record(
|
|
|
1540
1672
|
"The default value is 2"
|
|
1541
1673
|
].join("\n")
|
|
1542
1674
|
),
|
|
1543
|
-
concurrencyPerShard:
|
|
1675
|
+
concurrencyPerShard: z39.number().min(1).max(10).default(1).describe(
|
|
1544
1676
|
[
|
|
1545
1677
|
"The number of batches to process concurrently from each shard.",
|
|
1546
1678
|
"You can specify a number from 1 to 10."
|
|
@@ -1550,16 +1682,16 @@ var TablesSchema = z38.record(
|
|
|
1550
1682
|
}).optional().describe(
|
|
1551
1683
|
"The settings for the DynamoDB table stream, which capture changes to items stored in the table."
|
|
1552
1684
|
),
|
|
1553
|
-
indexes:
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
hash:
|
|
1685
|
+
indexes: z39.record(
|
|
1686
|
+
z39.string(),
|
|
1687
|
+
z39.object({
|
|
1688
|
+
hash: z39.union([KeySchema.transform((v) => [v]), KeySchema.array()]).describe(
|
|
1557
1689
|
"Specifies the name of the partition / hash key that makes up the primary key for the global secondary index."
|
|
1558
1690
|
),
|
|
1559
|
-
sort:
|
|
1691
|
+
sort: z39.union([KeySchema.transform((v) => [v]), KeySchema.array()]).optional().describe(
|
|
1560
1692
|
"Specifies the name of the range / sort key that makes up the primary key for the global secondary index."
|
|
1561
1693
|
),
|
|
1562
|
-
projection:
|
|
1694
|
+
projection: z39.enum(["all", "keys-only"]).default("all").describe(
|
|
1563
1695
|
[
|
|
1564
1696
|
"The set of attributes that are projected into the index:",
|
|
1565
1697
|
"- all - All of the table attributes are projected into the index.",
|
|
@@ -1573,12 +1705,12 @@ var TablesSchema = z38.record(
|
|
|
1573
1705
|
).optional().describe("Define the tables in your stack.");
|
|
1574
1706
|
|
|
1575
1707
|
// src/feature/test/schema.ts
|
|
1576
|
-
import { z as
|
|
1577
|
-
var TestsSchema =
|
|
1708
|
+
import { z as z40 } from "zod";
|
|
1709
|
+
var TestsSchema = z40.union([
|
|
1578
1710
|
//
|
|
1579
1711
|
LocalDirectorySchema.transform((v) => [v]),
|
|
1580
1712
|
LocalDirectorySchema.array(),
|
|
1581
|
-
|
|
1713
|
+
z40.literal(false)
|
|
1582
1714
|
]).describe("Define the location of your tests for your stack.").optional();
|
|
1583
1715
|
|
|
1584
1716
|
// src/config/stack.ts
|
|
@@ -1586,8 +1718,8 @@ var DependsSchema = ResourceIdSchema.array().optional().describe("Define the sta
|
|
|
1586
1718
|
var NameSchema = ResourceIdSchema.refine((name) => !["base", "hostedzones"].includes(name), {
|
|
1587
1719
|
message: `Stack name can't be a reserved name.`
|
|
1588
1720
|
}).describe("Stack name.");
|
|
1589
|
-
var StackSchema =
|
|
1590
|
-
$schema:
|
|
1721
|
+
var StackSchema = z41.object({
|
|
1722
|
+
$schema: z41.string().optional(),
|
|
1591
1723
|
name: NameSchema,
|
|
1592
1724
|
depends: DependsSchema,
|
|
1593
1725
|
commands: CommandsSchema,
|
|
@@ -1602,6 +1734,7 @@ var StackSchema = z40.object({
|
|
|
1602
1734
|
subscribers: SubscribersSchema,
|
|
1603
1735
|
functions: FunctionsSchema,
|
|
1604
1736
|
instances: InstancesSchema,
|
|
1737
|
+
jobs: JobsSchema,
|
|
1605
1738
|
tasks: TasksSchema,
|
|
1606
1739
|
tables: TablesSchema,
|
|
1607
1740
|
stores: StoresSchema,
|