@homeflare/alchemy 0.39.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -8
- package/dist/ceph/auth-entity.d.ts +34 -0
- package/dist/ceph/auth-entity.d.ts.map +1 -0
- package/dist/ceph/ceph-argv-config.d.ts +10 -0
- package/dist/ceph/ceph-argv-config.d.ts.map +1 -0
- package/dist/ceph/ceph-argv.d.ts +19 -0
- package/dist/ceph/ceph-argv.d.ts.map +1 -0
- package/dist/ceph/ceph-auth-form.d.ts +54 -0
- package/dist/ceph/ceph-auth-form.d.ts.map +1 -0
- package/dist/ceph/ceph-auth-parse.d.ts +56 -0
- package/dist/ceph/ceph-auth-parse.d.ts.map +1 -0
- package/dist/ceph/ceph-auth-reconcile.d.ts +35 -0
- package/dist/ceph/ceph-auth-reconcile.d.ts.map +1 -0
- package/dist/ceph/ceph-config-options.d.ts +23 -0
- package/dist/ceph/ceph-config-options.d.ts.map +1 -0
- package/dist/ceph/ceph-key-leak-assert.d.ts +25 -0
- package/dist/ceph/ceph-key-leak-assert.d.ts.map +1 -0
- package/dist/ceph/ceph-transport.d.ts +37 -0
- package/dist/ceph/ceph-transport.d.ts.map +1 -0
- package/dist/ceph/fake-ceph-dial.d.ts +35 -0
- package/dist/ceph/fake-ceph-dial.d.ts.map +1 -0
- package/dist/ceph/index.d.ts +13 -0
- package/dist/ceph/index.d.ts.map +1 -0
- package/dist/ceph/index.js +1609 -0
- package/dist/ceph/index.js.map +38 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/proxmox/index.js +15 -6
- package/dist/proxmox/index.js.map +3 -3
- package/dist/proxmox/qemu-volume.d.ts +12 -2
- package/dist/proxmox/qemu-volume.d.ts.map +1 -1
- package/dist/talos/credentials-write.d.ts +46 -0
- package/dist/talos/credentials-write.d.ts.map +1 -0
- package/dist/talos/credentials.d.ts +51 -9
- package/dist/talos/credentials.d.ts.map +1 -1
- package/dist/talos/fake-process.d.ts +56 -0
- package/dist/talos/fake-process.d.ts.map +1 -0
- package/dist/talos/index.d.ts +19 -4
- package/dist/talos/index.d.ts.map +1 -1
- package/dist/talos/index.js +357 -173
- package/dist/talos/index.js.map +16 -10
- package/dist/talos/kubeconfig-attrs.d.ts +4 -0
- package/dist/talos/kubeconfig-attrs.d.ts.map +1 -0
- package/dist/talos/kubeconfig.d.ts +41 -23
- package/dist/talos/kubeconfig.d.ts.map +1 -1
- package/dist/talos/machine-config-fixtures.d.ts +60 -0
- package/dist/talos/machine-config-fixtures.d.ts.map +1 -0
- package/dist/talos/machine-config-poll.d.ts +43 -0
- package/dist/talos/machine-config-poll.d.ts.map +1 -0
- package/dist/talos/machine-config-read.d.ts +49 -0
- package/dist/talos/machine-config-read.d.ts.map +1 -0
- package/dist/talos/resource.d.ts +18 -0
- package/dist/talos/resource.d.ts.map +1 -1
- package/dist/talos/talos-bootstrap-etcd.d.ts +38 -0
- package/dist/talos/talos-bootstrap-etcd.d.ts.map +1 -0
- package/dist/talos/talos-bootstrap.d.ts +87 -0
- package/dist/talos/talos-bootstrap.d.ts.map +1 -1
- package/dist/talos/talos-cluster-health.d.ts +43 -1
- package/dist/talos/talos-cluster-health.d.ts.map +1 -1
- package/dist/talos/talos-errors.d.ts +68 -0
- package/dist/talos/talos-errors.d.ts.map +1 -0
- package/dist/talos/talos-machine-config.d.ts +51 -15
- package/dist/talos/talos-machine-config.d.ts.map +1 -1
- package/dist/talos/talosctl.d.ts +7 -0
- package/dist/talos/talosctl.d.ts.map +1 -1
- package/dist/talos/values.d.ts +23 -3
- package/dist/talos/values.d.ts.map +1 -1
- package/dist/unifi/acl-rule-drift.d.ts +22 -0
- package/dist/unifi/acl-rule-drift.d.ts.map +1 -0
- package/dist/unifi/acl-rule-form.d.ts +90 -0
- package/dist/unifi/acl-rule-form.d.ts.map +1 -0
- package/dist/unifi/acl-rule-ordering-form.d.ts +49 -0
- package/dist/unifi/acl-rule-ordering-form.d.ts.map +1 -0
- package/dist/unifi/acl-rule-ordering.d.ts +54 -0
- package/dist/unifi/acl-rule-ordering.d.ts.map +1 -0
- package/dist/unifi/acl-rule.d.ts +49 -0
- package/dist/unifi/acl-rule.d.ts.map +1 -0
- package/dist/unifi/dns-policy-drift.d.ts +21 -0
- package/dist/unifi/dns-policy-drift.d.ts.map +1 -0
- package/dist/unifi/dns-policy-form.d.ts +97 -0
- package/dist/unifi/dns-policy-form.d.ts.map +1 -0
- package/dist/unifi/dns-policy.d.ts +55 -0
- package/dist/unifi/dns-policy.d.ts.map +1 -0
- package/dist/unifi/firewall-policy-drift.d.ts +26 -0
- package/dist/unifi/firewall-policy-drift.d.ts.map +1 -0
- package/dist/unifi/firewall-policy-form.d.ts +102 -0
- package/dist/unifi/firewall-policy-form.d.ts.map +1 -0
- package/dist/unifi/firewall-policy-ordering-form.d.ts +66 -0
- package/dist/unifi/firewall-policy-ordering-form.d.ts.map +1 -0
- package/dist/unifi/firewall-policy-ordering.d.ts +57 -0
- package/dist/unifi/firewall-policy-ordering.d.ts.map +1 -0
- package/dist/unifi/firewall-policy.d.ts +57 -0
- package/dist/unifi/firewall-policy.d.ts.map +1 -0
- package/dist/unifi/index.d.ts +7 -0
- package/dist/unifi/index.d.ts.map +1 -1
- package/dist/unifi/index.js +588 -3
- package/dist/unifi/index.js.map +24 -4
- package/dist/unifi/paginate.d.ts +0 -12
- package/dist/unifi/paginate.d.ts.map +1 -1
- package/dist/unifi/providers.d.ts +1 -1
- package/dist/unifi/providers.d.ts.map +1 -1
- package/dist/unifi/scan-source.d.ts +11 -0
- package/dist/unifi/scan-source.d.ts.map +1 -0
- package/dist/unifi/traffic-matching-list-drift.d.ts +22 -0
- package/dist/unifi/traffic-matching-list-drift.d.ts.map +1 -0
- package/dist/unifi/traffic-matching-list-form.d.ts +56 -0
- package/dist/unifi/traffic-matching-list-form.d.ts.map +1 -0
- package/dist/unifi/traffic-matching-list.d.ts +51 -0
- package/dist/unifi/traffic-matching-list.d.ts.map +1 -0
- package/dist/unifi/wifi-broadcast-drift.d.ts +22 -0
- package/dist/unifi/wifi-broadcast-drift.d.ts.map +1 -0
- package/dist/unifi/wifi-broadcast-form.d.ts +127 -0
- package/dist/unifi/wifi-broadcast-form.d.ts.map +1 -0
- package/dist/unifi/wifi-broadcast.d.ts +73 -0
- package/dist/unifi/wifi-broadcast.d.ts.map +1 -0
- package/docs/unifi-acl-rule.md +122 -0
- package/docs/unifi-dns-policy.md +75 -0
- package/docs/unifi-firewall-policy.md +109 -0
- package/docs/unifi-traffic-matching-list.md +82 -0
- package/docs/unifi-wifi.md +120 -0
- package/docs/unifi.md +10 -5
- package/package.json +6 -2
- package/src/ceph/auth-entity.ts +74 -0
- package/src/ceph/ceph-argv-config.ts +78 -0
- package/src/ceph/ceph-argv.test.ts +226 -0
- package/src/ceph/ceph-argv.ts +189 -0
- package/src/ceph/ceph-auth-form.test.ts +103 -0
- package/src/ceph/ceph-auth-form.ts +107 -0
- package/src/ceph/ceph-auth-parse.test.ts +155 -0
- package/src/ceph/ceph-auth-parse.ts +121 -0
- package/src/ceph/ceph-auth-reconcile-secrecy.test.ts +82 -0
- package/src/ceph/ceph-auth-reconcile.test.ts +233 -0
- package/src/ceph/ceph-auth-reconcile.ts +119 -0
- package/src/ceph/ceph-config-options.test.ts +44 -0
- package/src/ceph/ceph-config-options.ts +36 -0
- package/src/ceph/ceph-key-leak-assert.ts +35 -0
- package/src/ceph/ceph-no-output-logging.test.ts +52 -0
- package/src/ceph/ceph-transport.test.ts +125 -0
- package/src/ceph/ceph-transport.ts +117 -0
- package/src/ceph/fake-ceph-dial.ts +55 -0
- package/src/ceph/index.ts +12 -0
- package/src/index.ts +1 -0
- package/src/proxmox/qemu-volume.test.ts +153 -4
- package/src/proxmox/qemu-volume.ts +71 -14
- package/src/talos/credentials-write.test.ts +81 -0
- package/src/talos/credentials-write.ts +95 -0
- package/src/talos/credentials.test.ts +157 -0
- package/src/talos/credentials.ts +160 -90
- package/src/talos/fake-process.ts +94 -0
- package/src/talos/index.ts +39 -4
- package/src/talos/kubeconfig-attrs.ts +55 -0
- package/src/talos/kubeconfig.test.ts +256 -0
- package/src/talos/kubeconfig.ts +170 -90
- package/src/talos/machine-config-fixtures.ts +86 -0
- package/src/talos/machine-config-poll.test.ts +57 -0
- package/src/talos/machine-config-poll.ts +82 -0
- package/src/talos/machine-config-read.ts +118 -0
- package/src/talos/resource.ts +19 -0
- package/src/talos/secrets-gate.test.ts +63 -0
- package/src/talos/talos-bootstrap-etcd.ts +71 -0
- package/src/talos/talos-bootstrap.test.ts +218 -0
- package/src/talos/talos-bootstrap.ts +151 -45
- package/src/talos/talos-cluster-health.test.ts +143 -0
- package/src/talos/talos-cluster-health.ts +91 -28
- package/src/talos/talos-errors.ts +85 -0
- package/src/talos/talos-machine-config.test.ts +189 -0
- package/src/talos/talos-machine-config.ts +102 -88
- package/src/talos/talosctl.ts +8 -0
- package/src/talos/values.test.ts +34 -6
- package/src/talos/values.ts +41 -7
- package/src/unifi/acl-rule-drift.ts +57 -0
- package/src/unifi/acl-rule-form.ts +135 -0
- package/src/unifi/acl-rule-ordering-form.ts +79 -0
- package/src/unifi/acl-rule-ordering.test.ts +141 -0
- package/src/unifi/acl-rule-ordering.ts +70 -0
- package/src/unifi/acl-rule.test.ts +183 -0
- package/src/unifi/acl-rule.ts +61 -0
- package/src/unifi/discriminated-filter-decode.test.ts +134 -0
- package/src/unifi/dns-policy-drift.ts +48 -0
- package/src/unifi/dns-policy-form.ts +142 -0
- package/src/unifi/dns-policy.test.ts +154 -0
- package/src/unifi/dns-policy.ts +67 -0
- package/src/unifi/firewall-policy-drift.test.ts +151 -0
- package/src/unifi/firewall-policy-drift.ts +55 -0
- package/src/unifi/firewall-policy-filter-roundtrip.test.ts +143 -0
- package/src/unifi/firewall-policy-form.ts +146 -0
- package/src/unifi/firewall-policy-ordering-form.ts +111 -0
- package/src/unifi/firewall-policy-ordering.test.ts +185 -0
- package/src/unifi/firewall-policy-ordering.ts +87 -0
- package/src/unifi/firewall-policy.test.ts +183 -0
- package/src/unifi/firewall-policy.ts +73 -0
- package/src/unifi/index.ts +63 -0
- package/src/unifi/paginate.test.ts +24 -0
- package/src/unifi/paginate.ts +15 -3
- package/src/unifi/providers.ts +19 -1
- package/src/unifi/scan-source.ts +64 -0
- package/src/unifi/traffic-matching-list-drift.ts +40 -0
- package/src/unifi/traffic-matching-list-form.ts +77 -0
- package/src/unifi/traffic-matching-list.test.ts +202 -0
- package/src/unifi/traffic-matching-list.ts +78 -0
- package/src/unifi/wifi-broadcast-details-call.test.ts +92 -0
- package/src/unifi/wifi-broadcast-drift.ts +69 -0
- package/src/unifi/wifi-broadcast-form.ts +211 -0
- package/src/unifi/wifi-broadcast-secrets.test.ts +145 -0
- package/src/unifi/wifi-broadcast.test.ts +155 -0
- package/src/unifi/wifi-broadcast.ts +90 -0
- package/src/unifi/write-op-reference.test.ts +8 -54
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `Unifi.FirewallPolicyOrdering`'s wire shape — ONE resource per `(sourceFirewallZoneId,
|
|
3
|
+
* destinationFirewallZoneId)` ZONE PAIR (`getFirewallPolicyOrdering`'s own scope, `GET
|
|
4
|
+
* /v1/sites/{siteId}/firewall/policies/ordering?sourceFirewallZoneId=…&destinationFirewallZoneId=…`),
|
|
5
|
+
* not per policy and not site-wide. Compare with `acl-rule-ordering-form.ts`'s own header: ACL rule
|
|
6
|
+
* order is ONE list for the whole site because ACL rules have no zone concept; firewall policies are
|
|
7
|
+
* scoped to a zone pair (`firewall-zone.ts`'s own `Unifi.FirewallZone`), so the vendor keys ordering
|
|
8
|
+
* the same way — a console can have as many `Unifi.FirewallPolicyOrdering` resources as it has
|
|
9
|
+
* zone pairs with at least one user-defined policy between them.
|
|
10
|
+
*
|
|
11
|
+
* ⛔ T5 — `beforeSystemDefined`/`afterSystemDefined` ARE EACH A SEQUENCE, NEVER RUN THROUGH
|
|
12
|
+
* `sortedSet`. `OrderedFirewallPolicyIDs`' own shape splits a zone pair's user-defined policies
|
|
13
|
+
* into the ones ordered BEFORE the system-defined policies and the ones ordered AFTER them —
|
|
14
|
+
* within each half, position is priority, the same "lower index/earlier position wins" reasoning
|
|
15
|
+
* `acl-rule-ordering-form.ts` gives for `orderedAclRuleIds`. `drift.ts`'s `defaultEqual`
|
|
16
|
+
* (`deepEqual`) already compares arrays element-by-element without sorting them, so leaving both
|
|
17
|
+
* fields un-normalized is what makes the comparison order-sensitive, not an oversight.
|
|
18
|
+
*
|
|
19
|
+
* ★ TWO SEQUENCES, NOT ONE — the one real difference from `acl-rule-ordering-form.ts`'s single
|
|
20
|
+
* `orderedAclRuleIds`. A policy ordered "before system-defined" and one ordered "after" can never
|
|
21
|
+
* swap sides through this endpoint (there is no single combined list position that would let one
|
|
22
|
+
* policy move from one half to the other) — `matches`/`driftOf` below compare each half
|
|
23
|
+
* independently, so a policy moving from `beforeSystemDefined` to `afterSystemDefined` reports as
|
|
24
|
+
* drift on BOTH fields, not a single reordering of one array.
|
|
25
|
+
*
|
|
26
|
+
* ★ `makeDriftOf`, NO CUSTOM `equal` — same framework every other family's `matches`/`driftOf`
|
|
27
|
+
* share (MEDIUM-4). Its default `deepEqual` is already order-sensitive for arrays, so the absence
|
|
28
|
+
* of a custom `equal` here is itself the "never sortedSet" rule in force, exactly as
|
|
29
|
+
* `acl-rule-ordering-form.ts`'s own header explains for its one field.
|
|
30
|
+
*/
|
|
31
|
+
import type * as firewall from '@distilled.cloud/unifi-network/firewall';
|
|
32
|
+
export interface FirewallPolicyOrderingProps {
|
|
33
|
+
siteId: string;
|
|
34
|
+
sourceFirewallZoneId: string;
|
|
35
|
+
destinationFirewallZoneId: string;
|
|
36
|
+
/** Policy IDs ordered before the zone pair's system-defined policies, highest priority first —
|
|
37
|
+
* never compared as a set (see header). */
|
|
38
|
+
beforeSystemDefined: string[];
|
|
39
|
+
/** Policy IDs ordered after the zone pair's system-defined policies, highest priority first —
|
|
40
|
+
* never compared as a set (see header). */
|
|
41
|
+
afterSystemDefined: string[];
|
|
42
|
+
}
|
|
43
|
+
export interface FirewallPolicyOrderingAttributes {
|
|
44
|
+
siteId: string;
|
|
45
|
+
sourceFirewallZoneId: string;
|
|
46
|
+
destinationFirewallZoneId: string;
|
|
47
|
+
beforeSystemDefined: string[];
|
|
48
|
+
afterSystemDefined: string[];
|
|
49
|
+
}
|
|
50
|
+
export declare const attributesOf: (live: firewall.IntegrationFirewallPolicyOrderingDto, props: FirewallPolicyOrderingProps) => FirewallPolicyOrderingAttributes;
|
|
51
|
+
/**
|
|
52
|
+
* The declaration renderer (task spec: "given one live object, return the props a declaration
|
|
53
|
+
* needs so its plan is noop"). A later import script feeds `getFirewallPolicyOrdering`'s own
|
|
54
|
+
* response straight in and writes the result as `firewallPolicyOrdering('<id>',
|
|
55
|
+
* declareFirewallPolicyOrdering(live, siteId, sourceZoneId, destZoneId))` —
|
|
56
|
+
* `matches(attributesOf(live, props), declareFirewallPolicyOrdering(live, …))` is `true` by
|
|
57
|
+
* construction (`firewall-policy-ordering.test.ts` proves it).
|
|
58
|
+
*/
|
|
59
|
+
export declare const declareFirewallPolicyOrdering: (live: firewall.IntegrationFirewallPolicyOrderingDto, siteId: string, sourceFirewallZoneId: string, destinationFirewallZoneId: string) => FirewallPolicyOrderingProps;
|
|
60
|
+
export declare const matches: (attributes: FirewallPolicyOrderingAttributes, props: FirewallPolicyOrderingProps) => boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Per-field live-vs-declared drift straight from one live read — the task's own API
|
|
63
|
+
* (`driftOf(live, props)`).
|
|
64
|
+
*/
|
|
65
|
+
export declare const driftOf: (live: firewall.IntegrationFirewallPolicyOrderingDto, props: FirewallPolicyOrderingProps) => import("./drift.ts").FieldDrift[];
|
|
66
|
+
//# sourceMappingURL=firewall-policy-ordering-form.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firewall-policy-ordering-form.d.ts","sourceRoot":"","sources":["../../src/unifi/firewall-policy-ordering-form.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,KAAK,QAAQ,MAAM,yCAAyC,CAAC;AAGzE,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yBAAyB,EAAE,MAAM,CAAC;IAClC;gDAC4C;IAC5C,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B;gDAC4C;IAC5C,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yBAAyB,EAAE,MAAM,CAAC;IAClC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,eAAO,MAAM,YAAY,SACjB,QAAQ,CAAC,oCAAoC,SAC5C,2BAA2B,KACjC,gCAMD,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,SAClC,QAAQ,CAAC,oCAAoC,UAC3C,MAAM,wBACQ,MAAM,6BACD,MAAM,KAChC,2BAMD,CAAC;AAeH,eAAO,MAAM,OAAO,eACN,gCAAgC,SACrC,2BAA2B,KACjC,OAAqD,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,OAAO,SACZ,QAAQ,CAAC,oCAAoC,SAC5C,2BAA2B,sCACa,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `Unifi.FirewallPolicyOrdering` — the ordered `before`/`afterSystemDefined` policy-id lists for
|
|
3
|
+
* ONE `(sourceFirewallZoneId, destinationFirewallZoneId)` zone pair (`getFirewallPolicyOrdering`,
|
|
4
|
+
* `GET /v1/sites/{siteId}/firewall/policies/ordering`), READ-ONLY (`policy.ts`). T5/I4's per-family
|
|
5
|
+
* variant: `docs/unifi.md`'s own header named this "a future `Unifi.FirewallPolicyOrdering`" as a
|
|
6
|
+
* separate, bigger PR (see `acl-rule-ordering.ts`'s header for the same forward reference, now
|
|
7
|
+
* resolved) — this is that resource.
|
|
8
|
+
*
|
|
9
|
+
* ⚠️ NOT ONE OBJECT PER SITE, UNLIKE `acl-rule-ordering.ts` — the identity is the TRIPLE
|
|
10
|
+
* `(siteId, sourceFirewallZoneId, destinationFirewallZoneId)`, both zone ids passed as QUERY
|
|
11
|
+
* parameters on the same path every time (`firewall.ts`'s `GetFirewallPolicyOrderingRequest`).
|
|
12
|
+
* There is no "list every zone pair with an ordering" endpoint — a caller (a future Lane C import)
|
|
13
|
+
* has to already know which pairs exist, typically by walking `firewall.getFirewallPolicies`
|
|
14
|
+
* (T9's own 424-live-policy scale — B0b's `pageAll`, see `firewall-policy.test.ts`'s own decode
|
|
15
|
+
* proof) and grouping by each policy's `source.zoneId`/`destination.zoneId`. Nothing here performs
|
|
16
|
+
* that discovery — this resource is one already-known pair's ordering, same as
|
|
17
|
+
* `firewall-policy.ts`/`acl-rule.ts` are one already-known object's own fields.
|
|
18
|
+
*/
|
|
19
|
+
import { Resource } from 'alchemy';
|
|
20
|
+
import * as Provider from 'alchemy/Provider';
|
|
21
|
+
import * as firewall from '@distilled.cloud/unifi-network/firewall';
|
|
22
|
+
import * as Effect from 'effect/Effect';
|
|
23
|
+
import { type FirewallPolicyOrderingAttributes, type FirewallPolicyOrderingProps } from './firewall-policy-ordering-form.ts';
|
|
24
|
+
import type { UnifiRequirements, UnifiSpec } from './resource.ts';
|
|
25
|
+
export type { FirewallPolicyOrderingAttributes, FirewallPolicyOrderingProps, } from './firewall-policy-ordering-form.ts';
|
|
26
|
+
export { declareFirewallPolicyOrdering, driftOf } from './firewall-policy-ordering-form.ts';
|
|
27
|
+
export interface UnifiFirewallPolicyOrdering extends Resource<'Unifi.FirewallPolicyOrdering', FirewallPolicyOrderingProps, FirewallPolicyOrderingAttributes, never, UnifiRequirements> {
|
|
28
|
+
}
|
|
29
|
+
export declare const UnifiFirewallPolicyOrdering: import("alchemy").ResourceClass<UnifiFirewallPolicyOrdering>;
|
|
30
|
+
/** `firewallPolicyOrdering('iot-to-external', props)` — `adopt(true)` piped on by default (H5); see
|
|
31
|
+
* `network.ts`. */
|
|
32
|
+
export declare const firewallPolicyOrdering: (id: string, props: FirewallPolicyOrderingProps) => Effect.Effect<UnifiFirewallPolicyOrdering, never, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
33
|
+
/** ★ EXPORTED for direct testing against a fake `Credentials` layer — see `network.ts`'s own. */
|
|
34
|
+
export declare const spec: UnifiSpec<FirewallPolicyOrderingProps, firewall.IntegrationFirewallPolicyOrderingDto, FirewallPolicyOrderingAttributes, firewall.GetFirewallPolicyOrderingError>;
|
|
35
|
+
export declare const handlers: {
|
|
36
|
+
list: () => Effect.Effect<never[], never, never>;
|
|
37
|
+
read: (args: {
|
|
38
|
+
olds: FirewallPolicyOrderingProps;
|
|
39
|
+
output: FirewallPolicyOrderingAttributes | undefined;
|
|
40
|
+
}) => Effect.Effect<FirewallPolicyOrderingAttributes | undefined, firewall.UnifiNetworkOpError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
41
|
+
diff: (args: {
|
|
42
|
+
news: import("alchemy").Input<FirewallPolicyOrderingProps>;
|
|
43
|
+
output: FirewallPolicyOrderingAttributes | undefined;
|
|
44
|
+
}) => Effect.Effect<{
|
|
45
|
+
readonly action: 'update';
|
|
46
|
+
} | {
|
|
47
|
+
readonly action: 'noop';
|
|
48
|
+
} | undefined, firewall.UnifiNetworkOpError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
49
|
+
reconcile: (args: {
|
|
50
|
+
news: FirewallPolicyOrderingProps;
|
|
51
|
+
}) => Effect.Effect<FirewallPolicyOrderingAttributes, import("./policy.ts").UnifiWriteRefused | firewall.UnifiNetworkOpError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
52
|
+
delete: (args: {
|
|
53
|
+
olds: FirewallPolicyOrderingProps;
|
|
54
|
+
}) => Effect.Effect<never, import("./policy.ts").UnifiWriteRefused, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
55
|
+
};
|
|
56
|
+
export declare const UnifiFirewallPolicyOrderingProvider: () => import("effect/Layer").Layer<Provider.Provider<UnifiFirewallPolicyOrdering>, never, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
57
|
+
//# sourceMappingURL=firewall-policy-ordering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firewall-policy-ordering.d.ts","sourceRoot":"","sources":["../../src/unifi/firewall-policy-ordering.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,KAAK,gCAAgC,EACrC,KAAK,2BAA2B,EAGjC,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGlE,YAAY,EACV,gCAAgC,EAChC,2BAA2B,GAC5B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,6BAA6B,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAE5F,MAAM,WAAW,2BAA4B,SAAQ,QAAQ,CAC3D,8BAA8B,EAC9B,2BAA2B,EAC3B,gCAAgC,EAChC,KAAK,EACL,iBAAiB,CAClB;CAAG;AAEJ,eAAO,MAAM,2BAA2B,8DAGvC,CAAC;AAEF;oBACoB;AACpB,eAAO,MAAM,sBAAsB,OAAQ,MAAM,SAAS,2BAA2B,4GAC3B,CAAC;AAE3D,iGAAiG;AACjG,eAAO,MAAM,IAAI,EAAE,SAAS,CAC1B,2BAA2B,EAC3B,QAAQ,CAAC,oCAAoC,EAC7C,gCAAgC,EAChC,QAAQ,CAAC,8BAA8B,CAiBxC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;CAAsB,CAAC;AAE5C,eAAO,MAAM,mCAAmC,iJAI7C,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `Unifi.FirewallPolicy` — one firewall policy on a UniFi Network site, READ-ONLY (`policy.ts`).
|
|
3
|
+
* `Unifi.FirewallPolicyOrdering` (`firewall-policy-ordering.ts`) is the sibling resource for policy
|
|
4
|
+
* ORDER within a zone pair (T5) — one per `(sourceFirewallZoneId, destinationFirewallZoneId)`, never
|
|
5
|
+
* this file's concern. `docs/unifi.md`'s own header names this pair as "a bigger, separate PR";
|
|
6
|
+
* this is that PR — see `docs/unifi-firewall-policy.md` for the full breakdown.
|
|
7
|
+
*
|
|
8
|
+
* ★ T11 GATE, CHECKED 2026-09-26: the `Firewall` tag's 13 operations (5 already covered for
|
|
9
|
+
* `Unifi.FirewallZone` in `docs/unifi.md`, 8 new here for `FirewallPolicy` — `getFirewallPolicies`,
|
|
10
|
+
* `createFirewallPolicy`, `getFirewallPolicyOrdering`, `updateFirewallPolicyOrdering`,
|
|
11
|
+
* `deleteFirewallPolicy`, `getFirewallPolicy`, `patchFirewallPolicy`, `updateFirewallPolicy`) are
|
|
12
|
+
* byte-identical between 10.4.57 and 10.6.97, full raw operation objects; the 106-schema closure
|
|
13
|
+
* reachable from all 13 (`$ref` + `discriminator.mapping`) shares zero names with the 14 schemas
|
|
14
|
+
* that DID change elsewhere in the document. Corroborated independently by the A3 changeset's own
|
|
15
|
+
* broader 25-operation/139-schema re-check (`.changeset/unifi-network-a3-typed-discriminator-filters.md`).
|
|
16
|
+
* Full breakdown: `docs/unifi-firewall-policy.md`.
|
|
17
|
+
*/
|
|
18
|
+
import { Resource } from 'alchemy';
|
|
19
|
+
import * as Provider from 'alchemy/Provider';
|
|
20
|
+
import * as firewall from '@distilled.cloud/unifi-network/firewall';
|
|
21
|
+
import * as Effect from 'effect/Effect';
|
|
22
|
+
import { type FirewallPolicyAttributes, type FirewallPolicyProps } from './firewall-policy-form.ts';
|
|
23
|
+
import type { UnifiRequirements, UnifiSpec } from './resource.ts';
|
|
24
|
+
export type { FirewallPolicyAttributes, FirewallPolicyProps } from './firewall-policy-form.ts';
|
|
25
|
+
export { declareFirewallPolicy } from './firewall-policy-form.ts';
|
|
26
|
+
export { driftOf } from './firewall-policy-drift.ts';
|
|
27
|
+
export interface UnifiFirewallPolicy extends Resource<'Unifi.FirewallPolicy', FirewallPolicyProps, FirewallPolicyAttributes, never, UnifiRequirements> {
|
|
28
|
+
}
|
|
29
|
+
export declare const UnifiFirewallPolicy: import("alchemy").ResourceClass<UnifiFirewallPolicy>;
|
|
30
|
+
/** `firewallPolicy('block-iot-wan', props)` — `adopt(true)` piped on by default (H5); see
|
|
31
|
+
* `network.ts`. */
|
|
32
|
+
export declare const firewallPolicy: (id: string, props: FirewallPolicyProps) => Effect.Effect<UnifiFirewallPolicy, never, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
33
|
+
/** ★ EXPORTED for direct testing against a fake `Credentials` layer — see `network.ts`'s own. */
|
|
34
|
+
export declare const spec: UnifiSpec<FirewallPolicyProps, firewall.FirewallPolicy, FirewallPolicyAttributes, firewall.GetFirewallPolicyError>;
|
|
35
|
+
export declare const handlers: {
|
|
36
|
+
list: () => Effect.Effect<never[], never, never>;
|
|
37
|
+
read: (args: {
|
|
38
|
+
olds: FirewallPolicyProps;
|
|
39
|
+
output: FirewallPolicyAttributes | undefined;
|
|
40
|
+
}) => Effect.Effect<FirewallPolicyAttributes | undefined, firewall.UnifiNetworkOpError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
41
|
+
diff: (args: {
|
|
42
|
+
news: import("alchemy").Input<FirewallPolicyProps>;
|
|
43
|
+
output: FirewallPolicyAttributes | undefined;
|
|
44
|
+
}) => Effect.Effect<{
|
|
45
|
+
readonly action: 'update';
|
|
46
|
+
} | {
|
|
47
|
+
readonly action: 'noop';
|
|
48
|
+
} | undefined, firewall.UnifiNetworkOpError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
49
|
+
reconcile: (args: {
|
|
50
|
+
news: FirewallPolicyProps;
|
|
51
|
+
}) => Effect.Effect<FirewallPolicyAttributes, import("./policy.ts").UnifiWriteRefused | firewall.UnifiNetworkOpError, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
52
|
+
delete: (args: {
|
|
53
|
+
olds: FirewallPolicyProps;
|
|
54
|
+
}) => Effect.Effect<never, import("./policy.ts").UnifiWriteRefused, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
55
|
+
};
|
|
56
|
+
export declare const UnifiFirewallPolicyProvider: () => import("effect/Layer").Layer<Provider.Provider<UnifiFirewallPolicy>, never, import("effect/unstable/http/HttpClient").HttpClient>;
|
|
57
|
+
//# sourceMappingURL=firewall-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"firewall-policy.d.ts","sourceRoot":"","sources":["../../src/unifi/firewall-policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEnC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EAEzB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGlE,YAAY,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAErD,MAAM,WAAW,mBAAoB,SAAQ,QAAQ,CACnD,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,EACL,iBAAiB,CAClB;CAAG;AAEJ,eAAO,MAAM,mBAAmB,sDAE9B,CAAC;AAEH;oBACoB;AACpB,eAAO,MAAM,cAAc,OAAQ,MAAM,SAAS,mBAAmB,oGACnB,CAAC;AAEnD,iGAAiG;AACjG,eAAO,MAAM,IAAI,EAAE,SAAS,CAC1B,mBAAmB,EACnB,QAAQ,CAAC,cAAc,EACvB,wBAAwB,EACxB,QAAQ,CAAC,sBAAsB,CAUhC,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;CAAsB,CAAC;AAE5C,eAAO,MAAM,2BAA2B,yIACyD,CAAC"}
|
package/dist/unifi/index.d.ts
CHANGED
|
@@ -10,5 +10,12 @@ export { GetOnlyHttpClient, UnifiNonGetRequest, type UnifiRequirements, type Uni
|
|
|
10
10
|
export type { FieldDrift } from './drift.ts';
|
|
11
11
|
export { UnifiNetwork, UnifiNetworkProvider, declareNetwork, network, type NetworkAttributes, type NetworkProps, driftOf as networkDriftOf, } from './network.ts';
|
|
12
12
|
export { UnifiFirewallZone, UnifiFirewallZoneProvider, declareFirewallZone, firewallZone, type FirewallZoneAttributes, type FirewallZoneProps, driftOf as firewallZoneDriftOf, } from './firewall-zone.ts';
|
|
13
|
+
export { UnifiDnsPolicy, UnifiDnsPolicyProvider, declareDnsPolicy, dnsPolicy, type DnsPolicyAttributes, type DnsPolicyProps, driftOf as dnsPolicyDriftOf, } from './dns-policy.ts';
|
|
14
|
+
export { UnifiAclRule, UnifiAclRuleProvider, aclRule, declareAclRule, type AclRuleAttributes, type AclRuleProps, driftOf as aclRuleDriftOf, } from './acl-rule.ts';
|
|
15
|
+
export { UnifiAclRuleOrdering, UnifiAclRuleOrderingProvider, aclRuleOrdering, declareAclRuleOrdering, type AclRuleOrderingAttributes, type AclRuleOrderingProps, driftOf as aclRuleOrderingDriftOf, } from './acl-rule-ordering.ts';
|
|
16
|
+
export { UnifiWifiBroadcast, UnifiWifiBroadcastProvider, declareWifiBroadcast, wifiBroadcast, type WifiBroadcastAttributes, type WifiBroadcastProps, driftOf as wifiBroadcastDriftOf, } from './wifi-broadcast.ts';
|
|
17
|
+
export { UnifiFirewallPolicy, UnifiFirewallPolicyProvider, declareFirewallPolicy, firewallPolicy, type FirewallPolicyAttributes, type FirewallPolicyProps, driftOf as firewallPolicyDriftOf, } from './firewall-policy.ts';
|
|
18
|
+
export { UnifiFirewallPolicyOrdering, UnifiFirewallPolicyOrderingProvider, declareFirewallPolicyOrdering, firewallPolicyOrdering, type FirewallPolicyOrderingAttributes, type FirewallPolicyOrderingProps, driftOf as firewallPolicyOrderingDriftOf, } from './firewall-policy-ordering.ts';
|
|
19
|
+
export { UnifiTrafficMatchingList, UnifiTrafficMatchingListProvider, declareTrafficMatchingList, trafficMatchingList, type TrafficMatchingListAttributes, type TrafficMatchingListProps, driftOf as trafficMatchingListDriftOf, } from './traffic-matching-list.ts';
|
|
13
20
|
export { providers } from './providers.ts';
|
|
14
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/unifi/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAIL,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,OAAO,EACP,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAIjB,OAAO,IAAI,cAAc,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACnB,YAAY,EACZ,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,OAAO,IAAI,mBAAmB,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/unifi/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/F,OAAO,EAIL,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,SAAS,GACf,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,OAAO,EACP,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAIjB,OAAO,IAAI,cAAc,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACnB,YAAY,EACZ,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,OAAO,IAAI,mBAAmB,GAC/B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,gBAAgB,EAChB,SAAS,EACT,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,OAAO,IAAI,gBAAgB,GAC5B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,OAAO,EACP,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,OAAO,IAAI,cAAc,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,eAAe,EACf,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EACzB,OAAO,IAAI,sBAAsB,GAClC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,EACpB,aAAa,EACb,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,OAAO,IAAI,oBAAoB,GAChC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,cAAc,EACd,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,OAAO,IAAI,qBAAqB,GACjC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,2BAA2B,EAC3B,mCAAmC,EACnC,6BAA6B,EAC7B,sBAAsB,EACtB,KAAK,gCAAgC,EACrC,KAAK,2BAA2B,EAChC,OAAO,IAAI,6BAA6B,GACzC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,0BAA0B,EAC1B,mBAAmB,EACnB,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,OAAO,IAAI,0BAA0B,GACtC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|