pmcf 2.74.3 → 3.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pmcf",
3
- "version": "2.74.3",
3
+ "version": "3.0.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
package/src/base.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  import { join } from "node:path";
2
2
  import { allOutputs } from "npm-pkgbuild";
3
- import { getAttribute, default_attribute, description_attribute } from "pacc";
3
+ import { getAttribute, default_attribute, description_attribute, boolean_attribute } from "pacc";
4
4
  import { addType, primitives, typeFactory } from "./types.mjs";
5
5
  import { asArray } from "./utils.mjs";
6
6
 
@@ -9,11 +9,10 @@ const BaseTypeDefinition = {
9
9
  owners: [],
10
10
  properties: {
11
11
  owner: { type: "base", collection: false, writeable: false },
12
- type: { type: "string", collection: false, writeable: false },
12
+ type: default_attribute,
13
13
  name: {
14
- type: "string",
15
- collection: false,
16
- identifier: true,
14
+ ...default_attribute,
15
+ isKey: true,
17
16
  writeable: true
18
17
  },
19
18
  description: { ...description_attribute, writeable: true },
@@ -21,8 +20,7 @@ const BaseTypeDefinition = {
21
20
  directory: { ...default_attribute, writeable: false },
22
21
  packaging: { ...default_attribute, writeable: true },
23
22
  disabled: {
24
- type: "boolean",
25
- collection: false,
23
+ ...boolean_attribute,
26
24
  writeable: true,
27
25
  default: false
28
26
  },
@@ -2,6 +2,7 @@ import { join } from "node:path";
2
2
  import { createHmac } from "node:crypto";
3
3
  import { FileContentProvider } from "npm-pkgbuild";
4
4
  import { isLinkLocal, reverseArpa } from "ip-utilties";
5
+ import { boolean_attribute, default_attribute } from "pacc";
5
6
  import { writeLines, asArray } from "../utils.mjs";
6
7
  import {
7
8
  DNSRecord,
@@ -38,49 +39,41 @@ const BindServiceTypeDefinition = {
38
39
  protected: { type: address_types, collection: true, writeable: true },
39
40
  internal: { type: address_types, collection: true, writeable: true },
40
41
  hasSVRRecords: {
41
- type: "boolean",
42
- collection: false,
43
- writeable: true,
44
- default: false
42
+ ...boolean_attribute,
43
+ writeable: true
45
44
  },
46
45
  hasCatalog: {
47
- type: "boolean",
48
- collection: false,
49
- writeable: true,
50
- default: false
46
+ ...boolean_attribute,
47
+ writeable: true
51
48
  },
52
49
  hasLinkLocalAdresses: {
53
- type: "boolean",
54
- collection: false,
55
- writeable: true,
56
- default: false
50
+ ...boolean_attribute,
51
+ writeable: true
57
52
  },
58
53
  hasLocationRecord: {
59
- type: "boolean",
60
- collection: false,
54
+ ...boolean_attribute,
61
55
  writeable: true,
62
56
  default: true
63
57
  },
64
58
  excludeInterfaceKinds: {
65
- type: "string",
59
+ ...default_attribute,
66
60
  collection: true,
67
61
  writeable: true
68
62
  },
69
63
 
70
64
  exclude: { type: address_types, collection: true, writeable: true },
71
65
  notify: {
72
- type: "boolean",
73
- collection: false,
66
+ ...boolean_attribute,
74
67
  writeable: true,
75
68
  default: false
76
69
  },
77
- recordTTL: { type: "string", collection: false, writeable: true },
70
+ recordTTL: { ...default_attribute, writeable: true },
78
71
  serial: { type: "number", collection: false, writeable: true },
79
- refresh: { type: "string", collection: false, writeable: true },
80
- retry: { type: "string", collection: false, writeable: true },
81
- expire: { type: "string", collection: false, writeable: true },
82
- minimum: { type: "string", collection: false, writeable: true },
83
- allowedUpdates: { type: "string", collection: true, writeable: true }
72
+ refresh: { ...default_attribute, writeable: true },
73
+ retry: { ...default_attribute, writeable: true },
74
+ expire: { ...default_attribute, writeable: true },
75
+ minimum: { ...default_attribute, writeable: true },
76
+ allowedUpdates: { ...default_attribute, collection: true, writeable: true }
84
77
  },
85
78
 
86
79
  service: {
@@ -1,5 +1,6 @@
1
1
  import { join } from "node:path";
2
2
  import { FileContentProvider } from "npm-pkgbuild";
3
+ import { default_attribute } from "pacc";
3
4
  import { addType } from "../types.mjs";
4
5
  import { ServiceTypeDefinition, Service } from "../service.mjs";
5
6
  import { writeLines } from "../utils.mjs";
@@ -13,18 +14,15 @@ const OpenLDAPServiceTypeDefinition = {
13
14
  priority: 0.1,
14
15
  properties: {
15
16
  baseDN: {
16
- type: "string",
17
- collection: false,
17
+ ...default_attribute,
18
18
  writeable: true
19
19
  },
20
20
  rootDN: {
21
- type: "string",
22
- collection: false,
21
+ ...default_attribute,
23
22
  writeable: true
24
23
  },
25
24
  uri: {
26
- type: "string",
27
- collection: false,
25
+ ...default_attribute,
28
26
  writeable: true
29
27
  }
30
28
  },
@@ -1,3 +1,4 @@
1
+ import { default_attribute } from "pacc";
1
2
  import { Service, ServiceTypeDefinition } from "pmcf";
2
3
  import { addType } from "../types.mjs";
3
4
 
@@ -8,7 +9,7 @@ const SystemdJournalUploadServiceTypeDefinition = {
8
9
  extends: ServiceTypeDefinition,
9
10
  priority: 0.1,
10
11
  properties: {
11
- url: { type: "string", collection: false, writeable: true }
12
+ url: { ...default_attribute, writeable: true }
12
13
  },
13
14
  service: {}
14
15
  };
package/src/subnet.mjs CHANGED
@@ -18,7 +18,7 @@ const SubnetTypeDefinition = {
18
18
  properties: {
19
19
  address: {
20
20
  ...default_attribute,
21
- identifier: true
21
+ isKey: true
22
22
  },
23
23
  networks: { type: "network", collection: true, writeable: true },
24
24
  prefixLength: { type: "number", collection: false, writeable: false }
package/src/types.mjs CHANGED
@@ -29,7 +29,7 @@ export function resolveTypeLinks() {
29
29
 
30
30
  for (const [name, property] of Object.entries(type.properties)) {
31
31
  property.name = name;
32
- if (property.identifier) {
32
+ if (property.isKey) {
33
33
  type.identifier = property;
34
34
  }
35
35
 
package/types/base.d.mts CHANGED
@@ -13,16 +13,22 @@ export class Base {
13
13
  collection: boolean;
14
14
  writeable: boolean;
15
15
  };
16
- type: {
17
- type: string;
18
- collection: boolean;
19
- writeable: boolean;
20
- };
16
+ type: import("pacc").AttributeDefinition;
21
17
  name: {
18
+ isKey: boolean;
19
+ writeable: boolean;
22
20
  type: string;
21
+ writable: boolean;
22
+ mandatory: boolean;
23
23
  collection: boolean;
24
- identifier: boolean;
25
- writeable: boolean;
24
+ private?: boolean;
25
+ depends?: string;
26
+ additionalAttributes: string[];
27
+ description?: string;
28
+ default?: any;
29
+ set?: Function;
30
+ get?: Function;
31
+ env?: string[] | string;
26
32
  };
27
33
  description: {
28
34
  writeable: boolean;
@@ -78,10 +84,20 @@ export class Base {
78
84
  env?: string[] | string;
79
85
  };
80
86
  disabled: {
81
- type: string;
82
- collection: boolean;
83
87
  writeable: boolean;
84
88
  default: boolean;
89
+ type: string;
90
+ isKey: boolean;
91
+ writable: boolean;
92
+ mandatory: boolean;
93
+ collection: boolean;
94
+ private?: boolean;
95
+ depends?: string;
96
+ additionalAttributes: string[];
97
+ description?: string;
98
+ set?: Function;
99
+ get?: Function;
100
+ env?: string[] | string;
85
101
  };
86
102
  tags: {
87
103
  collection: boolean;
@@ -14,16 +14,22 @@ export class Cluster extends Host {
14
14
  collection: boolean;
15
15
  writeable: boolean;
16
16
  };
17
- type: {
18
- type: string;
19
- collection: boolean;
20
- writeable: boolean;
21
- };
17
+ type: import("pacc").AttributeDefinition;
22
18
  name: {
19
+ isKey: boolean;
20
+ writeable: boolean;
23
21
  type: string;
22
+ writable: boolean;
23
+ mandatory: boolean;
24
24
  collection: boolean;
25
- identifier: boolean;
26
- writeable: boolean;
25
+ private?: boolean;
26
+ depends?: string;
27
+ additionalAttributes: string[];
28
+ description?: string;
29
+ default?: any;
30
+ set?: Function;
31
+ get?: Function;
32
+ env?: string[] | string;
27
33
  };
28
34
  description: {
29
35
  writeable: boolean;
@@ -79,10 +85,20 @@ export class Cluster extends Host {
79
85
  env?: string[] | string;
80
86
  };
81
87
  disabled: {
82
- type: string;
83
- collection: boolean;
84
88
  writeable: boolean;
85
89
  default: boolean;
90
+ type: string;
91
+ isKey: boolean;
92
+ writable: boolean;
93
+ mandatory: boolean;
94
+ collection: boolean;
95
+ private?: boolean;
96
+ depends?: string;
97
+ additionalAttributes: string[];
98
+ description?: string;
99
+ set?: Function;
100
+ get?: Function;
101
+ env?: string[] | string;
86
102
  };
87
103
  tags: {
88
104
  collection: boolean;
@@ -126,9 +142,8 @@ export class Cluster extends Host {
126
142
  constructWithIdentifierOnly: boolean;
127
143
  properties: {
128
144
  address: {
129
- identifier: boolean;
130
- type: string;
131
145
  isKey: boolean;
146
+ type: string;
132
147
  writable: boolean;
133
148
  mandatory: boolean;
134
149
  collection: boolean;
@@ -284,16 +299,22 @@ export class Cluster extends Host {
284
299
  collection: boolean;
285
300
  writeable: boolean;
286
301
  };
287
- type: {
288
- type: string;
289
- collection: boolean;
290
- writeable: boolean;
291
- };
302
+ type: import("pacc").AttributeDefinition;
292
303
  name: {
304
+ isKey: boolean;
305
+ writeable: boolean;
293
306
  type: string;
307
+ writable: boolean;
308
+ mandatory: boolean;
294
309
  collection: boolean;
295
- identifier: boolean;
296
- writeable: boolean;
310
+ private?: boolean;
311
+ depends?: string;
312
+ additionalAttributes: string[];
313
+ description?: string;
314
+ default?: any;
315
+ set?: Function;
316
+ get?: Function;
317
+ env?: string[] | string;
297
318
  };
298
319
  description: {
299
320
  writeable: boolean;
@@ -349,10 +370,20 @@ export class Cluster extends Host {
349
370
  env?: string[] | string;
350
371
  };
351
372
  disabled: {
352
- type: string;
353
- collection: boolean;
354
373
  writeable: boolean;
355
374
  default: boolean;
375
+ type: string;
376
+ isKey: boolean;
377
+ writable: boolean;
378
+ mandatory: boolean;
379
+ collection: boolean;
380
+ private?: boolean;
381
+ depends?: string;
382
+ additionalAttributes: string[];
383
+ description?: string;
384
+ set?: Function;
385
+ get?: Function;
386
+ env?: string[] | string;
356
387
  };
357
388
  tags: {
358
389
  collection: boolean;
@@ -28,16 +28,22 @@ export class ExtraSourceService extends Service {
28
28
  collection: boolean;
29
29
  writeable: boolean;
30
30
  };
31
- type: {
32
- type: string;
33
- collection: boolean;
34
- writeable: boolean;
35
- };
31
+ type: import("pacc").AttributeDefinition;
36
32
  name: {
33
+ isKey: boolean;
34
+ writeable: boolean;
37
35
  type: string;
36
+ writable: boolean;
37
+ mandatory: boolean;
38
38
  collection: boolean;
39
- identifier: boolean;
40
- writeable: boolean;
39
+ private?: boolean;
40
+ depends?: string;
41
+ additionalAttributes: string[];
42
+ description?: string;
43
+ default?: any;
44
+ set?: Function;
45
+ get?: Function;
46
+ env?: string[] | string;
41
47
  };
42
48
  description: {
43
49
  writeable: boolean;
@@ -93,10 +99,20 @@ export class ExtraSourceService extends Service {
93
99
  env?: string[] | string;
94
100
  };
95
101
  disabled: {
96
- type: string;
97
- collection: boolean;
98
102
  writeable: boolean;
99
103
  default: boolean;
104
+ type: string;
105
+ isKey: boolean;
106
+ writable: boolean;
107
+ mandatory: boolean;
108
+ collection: boolean;
109
+ private?: boolean;
110
+ depends?: string;
111
+ additionalAttributes: string[];
112
+ description?: string;
113
+ set?: Function;
114
+ get?: Function;
115
+ env?: string[] | string;
100
116
  };
101
117
  tags: {
102
118
  collection: boolean;
package/types/host.d.mts CHANGED
@@ -12,16 +12,22 @@ export class Host extends ServiceOwner {
12
12
  collection: boolean;
13
13
  writeable: boolean;
14
14
  };
15
- type: {
16
- type: string;
17
- collection: boolean;
18
- writeable: boolean;
19
- };
15
+ type: import("pacc").AttributeDefinition;
20
16
  name: {
17
+ isKey: boolean;
18
+ writeable: boolean;
21
19
  type: string;
20
+ writable: boolean;
21
+ mandatory: boolean;
22
22
  collection: boolean;
23
- identifier: boolean;
24
- writeable: boolean;
23
+ private?: boolean;
24
+ depends?: string;
25
+ additionalAttributes: string[];
26
+ description?: string;
27
+ default?: any;
28
+ set?: Function;
29
+ get?: Function;
30
+ env?: string[] | string;
25
31
  };
26
32
  description: {
27
33
  writeable: boolean;
@@ -77,10 +83,20 @@ export class Host extends ServiceOwner {
77
83
  env?: string[] | string;
78
84
  };
79
85
  disabled: {
80
- type: string;
81
- collection: boolean;
82
86
  writeable: boolean;
83
87
  default: boolean;
88
+ type: string;
89
+ isKey: boolean;
90
+ writable: boolean;
91
+ mandatory: boolean;
92
+ collection: boolean;
93
+ private?: boolean;
94
+ depends?: string;
95
+ additionalAttributes: string[];
96
+ description?: string;
97
+ set?: Function;
98
+ get?: Function;
99
+ env?: string[] | string;
84
100
  };
85
101
  tags: {
86
102
  collection: boolean;
@@ -14,16 +14,22 @@ export class Location extends Owner {
14
14
  collection: boolean;
15
15
  writeable: boolean;
16
16
  };
17
- type: {
18
- type: string;
19
- collection: boolean;
20
- writeable: boolean;
21
- };
17
+ type: import("pacc").AttributeDefinition;
22
18
  name: {
19
+ isKey: boolean;
20
+ writeable: boolean;
23
21
  type: string;
22
+ writable: boolean;
23
+ mandatory: boolean;
24
24
  collection: boolean;
25
- identifier: boolean;
26
- writeable: boolean;
25
+ private?: boolean;
26
+ depends?: string;
27
+ additionalAttributes: string[];
28
+ description?: string;
29
+ default?: any;
30
+ set?: Function;
31
+ get?: Function;
32
+ env?: string[] | string;
27
33
  };
28
34
  description: {
29
35
  writeable: boolean;
@@ -79,10 +85,20 @@ export class Location extends Owner {
79
85
  env?: string[] | string;
80
86
  };
81
87
  disabled: {
82
- type: string;
83
- collection: boolean;
84
88
  writeable: boolean;
85
89
  default: boolean;
90
+ type: string;
91
+ isKey: boolean;
92
+ writable: boolean;
93
+ mandatory: boolean;
94
+ collection: boolean;
95
+ private?: boolean;
96
+ depends?: string;
97
+ additionalAttributes: string[];
98
+ description?: string;
99
+ set?: Function;
100
+ get?: Function;
101
+ env?: string[] | string;
86
102
  };
87
103
  tags: {
88
104
  collection: boolean;
@@ -126,9 +142,8 @@ export class Location extends Owner {
126
142
  constructWithIdentifierOnly: boolean;
127
143
  properties: {
128
144
  address: {
129
- identifier: boolean;
130
- type: string;
131
145
  isKey: boolean;
146
+ type: string;
132
147
  writable: boolean;
133
148
  mandatory: boolean;
134
149
  collection: boolean;
@@ -284,16 +299,22 @@ export class Location extends Owner {
284
299
  collection: boolean;
285
300
  writeable: boolean;
286
301
  };
287
- type: {
288
- type: string;
289
- collection: boolean;
290
- writeable: boolean;
291
- };
302
+ type: import("pacc").AttributeDefinition;
292
303
  name: {
304
+ isKey: boolean;
305
+ writeable: boolean;
293
306
  type: string;
307
+ writable: boolean;
308
+ mandatory: boolean;
294
309
  collection: boolean;
295
- identifier: boolean;
296
- writeable: boolean;
310
+ private?: boolean;
311
+ depends?: string;
312
+ additionalAttributes: string[];
313
+ description?: string;
314
+ default?: any;
315
+ set?: Function;
316
+ get?: Function;
317
+ env?: string[] | string;
297
318
  };
298
319
  description: {
299
320
  writeable: boolean;
@@ -349,10 +370,20 @@ export class Location extends Owner {
349
370
  env?: string[] | string;
350
371
  };
351
372
  disabled: {
352
- type: string;
353
- collection: boolean;
354
373
  writeable: boolean;
355
374
  default: boolean;
375
+ type: string;
376
+ isKey: boolean;
377
+ writable: boolean;
378
+ mandatory: boolean;
379
+ collection: boolean;
380
+ private?: boolean;
381
+ depends?: string;
382
+ additionalAttributes: string[];
383
+ description?: string;
384
+ set?: Function;
385
+ get?: Function;
386
+ env?: string[] | string;
356
387
  };
357
388
  tags: {
358
389
  collection: boolean;
@@ -396,9 +427,8 @@ export class Location extends Owner {
396
427
  constructWithIdentifierOnly: boolean;
397
428
  properties: {
398
429
  address: {
399
- identifier: boolean;
400
- type: string;
401
430
  isKey: boolean;
431
+ type: string;
402
432
  writable: boolean;
403
433
  mandatory: boolean;
404
434
  collection: boolean;