@planecloud/validation 1.0.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.
@@ -0,0 +1,231 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CreateLoadBalancerSchema = exports.CreateVpcPeeringSchema = exports.AddSecurityGroupRuleSchema = exports.CreateSecurityGroupSchema = exports.CreateFirewallRuleSchema = exports.CreateSubnetSchema = exports.CreateVpcSchema = exports.LoadBalancerSchema = exports.SslCertificateSchema = exports.VpcPeeringSchema = exports.NatGatewaySchema = exports.SecurityGroupSchema = exports.FirewallRuleSchema = exports.SubnetSchema = exports.VpcSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.VpcSchema = zod_1.z.object({
6
+ id: zod_1.z.string().uuid(),
7
+ organizationId: zod_1.z.string().uuid(),
8
+ name: zod_1.z.string().min(1).max(100),
9
+ cidr: zod_1.z.string(),
10
+ region: zod_1.z.string(),
11
+ provider: zod_1.z.string(),
12
+ providerId: zod_1.z.string(),
13
+ status: zod_1.z.enum(["AVAILABLE", "PENDING", "ERROR"]),
14
+ tags: zod_1.z.record(zod_1.z.string()),
15
+ createdAt: zod_1.z.date(),
16
+ updatedAt: zod_1.z.date(),
17
+ });
18
+ exports.SubnetSchema = zod_1.z.object({
19
+ id: zod_1.z.string().uuid(),
20
+ vpcId: zod_1.z.string().uuid(),
21
+ name: zod_1.z.string().min(1).max(100),
22
+ cidr: zod_1.z.string(),
23
+ availabilityZone: zod_1.z.string(),
24
+ type: zod_1.z.enum(["PUBLIC", "PRIVATE", "ISOLATED"]),
25
+ providerId: zod_1.z.string(),
26
+ mapPublicIpOnLaunch: zod_1.z.boolean(),
27
+ tags: zod_1.z.record(zod_1.z.string()),
28
+ createdAt: zod_1.z.date(),
29
+ updatedAt: zod_1.z.date(),
30
+ });
31
+ exports.FirewallRuleSchema = zod_1.z.object({
32
+ id: zod_1.z.string().uuid(),
33
+ vpcId: zod_1.z.string().uuid(),
34
+ name: zod_1.z.string().min(1).max(100),
35
+ description: zod_1.z.string().max(500).optional(),
36
+ direction: zod_1.z.enum(["INBOUND", "OUTBOUND"]),
37
+ protocol: zod_1.z.enum(["TCP", "UDP", "ICMP", "ALL"]),
38
+ portRange: zod_1.z
39
+ .object({
40
+ from: zod_1.z.number().int().min(1).max(65535),
41
+ to: zod_1.z.number().int().min(1).max(65535),
42
+ })
43
+ .optional(),
44
+ cidrBlocks: zod_1.z.array(zod_1.z.string()),
45
+ securityGroupIds: zod_1.z.array(zod_1.z.string()).optional(),
46
+ action: zod_1.z.enum(["ALLOW", "DENY"]),
47
+ priority: zod_1.z.number().int().min(1).max(65535),
48
+ isActive: zod_1.z.boolean(),
49
+ createdAt: zod_1.z.date(),
50
+ updatedAt: zod_1.z.date(),
51
+ });
52
+ exports.SecurityGroupSchema = zod_1.z.object({
53
+ id: zod_1.z.string().uuid(),
54
+ vpcId: zod_1.z.string().uuid(),
55
+ name: zod_1.z.string().min(1).max(100),
56
+ description: zod_1.z.string().max(500).optional(),
57
+ providerId: zod_1.z.string(),
58
+ rules: zod_1.z.array(zod_1.z.object({
59
+ id: zod_1.z.string().uuid(),
60
+ name: zod_1.z.string().min(1).max(100),
61
+ description: zod_1.z.string().max(500).optional(),
62
+ direction: zod_1.z.enum(["INBOUND", "OUTBOUND"]),
63
+ protocol: zod_1.z.enum(["TCP", "UDP", "ICMP", "ALL"]),
64
+ portRange: zod_1.z
65
+ .object({
66
+ from: zod_1.z.number().int().min(1).max(65535),
67
+ to: zod_1.z.number().int().min(1).max(65535),
68
+ })
69
+ .optional(),
70
+ cidrBlocks: zod_1.z.array(zod_1.z.string()),
71
+ securityGroupIds: zod_1.z.array(zod_1.z.string()).optional(),
72
+ action: zod_1.z.enum(["ALLOW", "DENY"]),
73
+ priority: zod_1.z.number().int().min(1).max(65535),
74
+ isActive: zod_1.z.boolean(),
75
+ createdAt: zod_1.z.date(),
76
+ updatedAt: zod_1.z.date(),
77
+ })),
78
+ tags: zod_1.z.record(zod_1.z.string()),
79
+ createdAt: zod_1.z.date(),
80
+ updatedAt: zod_1.z.date(),
81
+ });
82
+ exports.NatGatewaySchema = zod_1.z.object({
83
+ id: zod_1.z.string().uuid(),
84
+ vpcId: zod_1.z.string().uuid(),
85
+ subnetId: zod_1.z.string().uuid(),
86
+ name: zod_1.z.string().min(1).max(100),
87
+ providerId: zod_1.z.string(),
88
+ publicIp: zod_1.z.string().ip(),
89
+ privateIp: zod_1.z.string().ip(),
90
+ status: zod_1.z.enum(["PENDING", "AVAILABLE", "FAILED", "DELETING"]),
91
+ tags: zod_1.z.record(zod_1.z.string()),
92
+ createdAt: zod_1.z.date(),
93
+ updatedAt: zod_1.z.date(),
94
+ });
95
+ exports.VpcPeeringSchema = zod_1.z.object({
96
+ id: zod_1.z.string().uuid(),
97
+ requesterVpcId: zod_1.z.string().uuid(),
98
+ accepterVpcId: zod_1.z.string().uuid(),
99
+ name: zod_1.z.string().min(1).max(100),
100
+ status: zod_1.z.enum([
101
+ "PENDING_ACCEPTANCE",
102
+ "ACTIVE",
103
+ "REJECTED",
104
+ "FAILED",
105
+ "DELETING",
106
+ "DELETED",
107
+ ]),
108
+ requesterAccountId: zod_1.z.string(),
109
+ accepterAccountId: zod_1.z.string(),
110
+ connectionId: zod_1.z.string().optional(),
111
+ tags: zod_1.z.record(zod_1.z.string()),
112
+ createdAt: zod_1.z.date(),
113
+ updatedAt: zod_1.z.date(),
114
+ });
115
+ exports.SslCertificateSchema = zod_1.z.object({
116
+ id: zod_1.z.string().uuid(),
117
+ organizationId: zod_1.z.string().uuid(),
118
+ name: zod_1.z.string().min(1).max(100),
119
+ domain: zod_1.z.string(),
120
+ sans: zod_1.z.array(zod_1.z.string()),
121
+ certificateArn: zod_1.z.string().optional(),
122
+ certificateChain: zod_1.z.string().optional(),
123
+ privateKey: zod_1.z.string().optional(),
124
+ status: zod_1.z.enum([
125
+ "PENDING_VALIDATION",
126
+ "ISSUED",
127
+ "FAILED",
128
+ "INACTIVE",
129
+ "EXPIRED",
130
+ ]),
131
+ issuer: zod_1.z.string().optional(),
132
+ issuedAt: zod_1.z.date().optional(),
133
+ expiresAt: zod_1.z.date().optional(),
134
+ autoRenew: zod_1.z.boolean(),
135
+ validationMethod: zod_1.z.enum(["DNS", "EMAIL", "HTTP"]),
136
+ createdAt: zod_1.z.date(),
137
+ updatedAt: zod_1.z.date(),
138
+ });
139
+ exports.LoadBalancerSchema = zod_1.z.object({
140
+ id: zod_1.z.string().uuid(),
141
+ vpcId: zod_1.z.string().uuid(),
142
+ name: zod_1.z.string().min(1).max(100),
143
+ type: zod_1.z.enum(["APPLICATION", "NETWORK", "GATEWAY"]),
144
+ scheme: zod_1.z.enum(["INTERNET_FACING", "INTERNAL"]),
145
+ ipAddress: zod_1.z.string().ip(),
146
+ dnsName: zod_1.z.string(),
147
+ status: zod_1.z.enum(["PROVISIONING", "ACTIVE", "FAILED"]),
148
+ subnets: zod_1.z.array(zod_1.z.string()),
149
+ securityGroups: zod_1.z.array(zod_1.z.string()),
150
+ tags: zod_1.z.record(zod_1.z.string()),
151
+ createdAt: zod_1.z.date(),
152
+ updatedAt: zod_1.z.date(),
153
+ });
154
+ // Input schemas
155
+ exports.CreateVpcSchema = zod_1.z.object({
156
+ organizationId: zod_1.z.string().uuid(),
157
+ name: zod_1.z.string().min(1).max(100),
158
+ cidr: zod_1.z.string(),
159
+ region: zod_1.z.string(),
160
+ provider: zod_1.z.string(),
161
+ tags: zod_1.z.record(zod_1.z.string()).optional(),
162
+ });
163
+ exports.CreateSubnetSchema = zod_1.z.object({
164
+ vpcId: zod_1.z.string().uuid(),
165
+ name: zod_1.z.string().min(1).max(100),
166
+ cidr: zod_1.z.string(),
167
+ availabilityZone: zod_1.z.string(),
168
+ type: zod_1.z.enum(["PUBLIC", "PRIVATE", "ISOLATED"]),
169
+ mapPublicIpOnLaunch: zod_1.z.boolean().default(false),
170
+ tags: zod_1.z.record(zod_1.z.string()).optional(),
171
+ });
172
+ exports.CreateFirewallRuleSchema = zod_1.z.object({
173
+ vpcId: zod_1.z.string().uuid(),
174
+ name: zod_1.z.string().min(1).max(100),
175
+ description: zod_1.z.string().max(500).optional(),
176
+ direction: zod_1.z.enum(["INBOUND", "OUTBOUND"]),
177
+ protocol: zod_1.z.enum(["TCP", "UDP", "ICMP", "ALL"]),
178
+ portRange: zod_1.z
179
+ .object({
180
+ from: zod_1.z.number().int().min(1).max(65535),
181
+ to: zod_1.z.number().int().min(1).max(65535),
182
+ })
183
+ .optional(),
184
+ cidrBlocks: zod_1.z.array(zod_1.z.string()),
185
+ securityGroupIds: zod_1.z.array(zod_1.z.string()).optional(),
186
+ action: zod_1.z.enum(["ALLOW", "DENY"]),
187
+ priority: zod_1.z.number().int().min(1).max(65535),
188
+ });
189
+ exports.CreateSecurityGroupSchema = zod_1.z.object({
190
+ vpcId: zod_1.z.string().uuid(),
191
+ name: zod_1.z.string().min(1).max(100),
192
+ description: zod_1.z.string().max(500).optional(),
193
+ tags: zod_1.z.record(zod_1.z.string()).optional(),
194
+ });
195
+ exports.AddSecurityGroupRuleSchema = zod_1.z.object({
196
+ securityGroupId: zod_1.z.string().uuid(),
197
+ rule: zod_1.z.object({
198
+ name: zod_1.z.string().min(1).max(100),
199
+ description: zod_1.z.string().max(500).optional(),
200
+ direction: zod_1.z.enum(["INBOUND", "OUTBOUND"]),
201
+ protocol: zod_1.z.enum(["TCP", "UDP", "ICMP", "ALL"]),
202
+ portRange: zod_1.z
203
+ .object({
204
+ from: zod_1.z.number().int().min(1).max(65535),
205
+ to: zod_1.z.number().int().min(1).max(65535),
206
+ })
207
+ .optional(),
208
+ cidrBlocks: zod_1.z.array(zod_1.z.string()),
209
+ securityGroupIds: zod_1.z.array(zod_1.z.string()).optional(),
210
+ action: zod_1.z.enum(["ALLOW", "DENY"]),
211
+ priority: zod_1.z.number().int().min(1).max(65535),
212
+ }),
213
+ });
214
+ exports.CreateVpcPeeringSchema = zod_1.z.object({
215
+ requesterVpcId: zod_1.z.string().uuid(),
216
+ accepterVpcId: zod_1.z.string().uuid(),
217
+ name: zod_1.z.string().min(1).max(100),
218
+ requesterAccountId: zod_1.z.string(),
219
+ accepterAccountId: zod_1.z.string(),
220
+ tags: zod_1.z.record(zod_1.z.string()).optional(),
221
+ });
222
+ exports.CreateLoadBalancerSchema = zod_1.z.object({
223
+ vpcId: zod_1.z.string().uuid(),
224
+ name: zod_1.z.string().min(1).max(100),
225
+ type: zod_1.z.enum(["APPLICATION", "NETWORK", "GATEWAY"]),
226
+ scheme: zod_1.z.enum(["INTERNET_FACING", "INTERNAL"]),
227
+ subnets: zod_1.z.array(zod_1.z.string()),
228
+ securityGroups: zod_1.z.array(zod_1.z.string()),
229
+ tags: zod_1.z.record(zod_1.z.string()).optional(),
230
+ });
231
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/networking/index.ts"],"names":[],"mappings":"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"}