pmcf
Version:
Poor mans configuration management
837 lines (836 loc) • 35.2 kB
text/typescript
export class HeadscaleService extends Service {
static get typeDefinition(): {
name: string;
extends: {
name: string;
owners: (string | {
name: string;
owners: string[];
extends: {
name: string;
key: string;
attributes: {
owner: {
type: string;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
type: import("pacc").AttributeDefinition;
name: import("pacc").AttributeDefinition;
description: import("pacc").AttributeDefinition;
priority: import("pacc").AttributeDefinition;
directory: import("pacc").AttributeDefinition;
packaging: import("pacc").AttributeDefinition;
disabled: import("pacc").AttributeDefinition;
tags: import("pacc").AttributeDefinition;
};
};
key: string;
attributes: {
networkInterfaces: {
type: string;
collection: boolean;
isKey: boolean;
writable: boolean;
mandatory: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
services: {
type: string;
collection: boolean;
isKey: boolean;
writable: boolean;
mandatory: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
aliases: import("pacc").AttributeDefinition;
os: {
values: string[];
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
"machine-id": import("pacc").AttributeDefinition;
distribution: import("pacc").AttributeDefinition;
deployment: {
values: string[];
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
weight: import("pacc").AttributeDefinition;
serial: import("pacc").AttributeDefinition;
vendor: import("pacc").AttributeDefinition;
keymap: import("pacc").AttributeDefinition;
chassis: {
values: string[];
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
architecture: {
values: string[];
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
replaces: import("pacc").AttributeDefinition;
depends: import("pacc").AttributeDefinition;
provides: import("pacc").AttributeDefinition;
extends: {
type: string;
collection: boolean;
isKey: boolean;
writable: boolean;
mandatory: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
model: import("pacc").AttributeDefinition;
isModel: import("pacc").AttributeDefinition;
hostName: {
writable: boolean;
type: object;
isKey: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
cidrAddresses: import("pacc").AttributeDefinition;
cidrAddress: import("pacc").AttributeDefinition;
addresses: import("pacc").AttributeDefinition;
address: import("pacc").AttributeDefinition;
};
})[];
extends: {
name: string;
key: string;
attributes: {
owner: {
type: string;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
type: import("pacc").AttributeDefinition;
name: import("pacc").AttributeDefinition;
description: import("pacc").AttributeDefinition;
priority: import("pacc").AttributeDefinition;
directory: import("pacc").AttributeDefinition;
packaging: import("pacc").AttributeDefinition;
disabled: import("pacc").AttributeDefinition;
tags: import("pacc").AttributeDefinition;
};
};
specializations: {};
factoryFor(owner: any, value: any): any;
key: string;
attributes: {
alias: import("pacc").AttributeDefinition;
weight: {
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
systemd: import("pacc").AttributeDefinition;
port: import("pacc").AttributeDefinition;
protocol: {
values: string[];
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
type: import("pacc").AttributeDefinition;
types: typeof import("pacc").string_collection_attribute;
tls: import("pacc").AttributeDefinition;
hostName: {
writable: boolean;
type: object;
isKey: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
cidrAddresses: import("pacc").AttributeDefinition;
cidrAddress: import("pacc").AttributeDefinition;
addresses: import("pacc").AttributeDefinition;
address: import("pacc").AttributeDefinition;
};
};
specializationOf: {
name: string;
owners: (string | {
name: string;
owners: string[];
extends: {
name: string;
key: string;
attributes: {
owner: {
type: string;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
type: import("pacc").AttributeDefinition;
name: import("pacc").AttributeDefinition;
description: import("pacc").AttributeDefinition;
priority: import("pacc").AttributeDefinition;
directory: import("pacc").AttributeDefinition;
packaging: import("pacc").AttributeDefinition;
disabled: import("pacc").AttributeDefinition;
tags: import("pacc").AttributeDefinition;
};
};
key: string;
attributes: {
networkInterfaces: {
type: string;
collection: boolean;
isKey: boolean;
writable: boolean;
mandatory: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
services: {
type: string;
collection: boolean;
isKey: boolean;
writable: boolean;
mandatory: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
aliases: import("pacc").AttributeDefinition;
os: {
values: string[];
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
"machine-id": import("pacc").AttributeDefinition;
distribution: import("pacc").AttributeDefinition;
deployment: {
values: string[];
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
weight: import("pacc").AttributeDefinition;
serial: import("pacc").AttributeDefinition;
vendor: import("pacc").AttributeDefinition;
keymap: import("pacc").AttributeDefinition;
chassis: {
values: string[];
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
architecture: {
values: string[];
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
replaces: import("pacc").AttributeDefinition;
depends: import("pacc").AttributeDefinition;
provides: import("pacc").AttributeDefinition;
extends: {
type: string;
collection: boolean;
isKey: boolean;
writable: boolean;
mandatory: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
model: import("pacc").AttributeDefinition;
isModel: import("pacc").AttributeDefinition;
hostName: {
writable: boolean;
type: object;
isKey: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
cidrAddresses: import("pacc").AttributeDefinition;
cidrAddress: import("pacc").AttributeDefinition;
addresses: import("pacc").AttributeDefinition;
address: import("pacc").AttributeDefinition;
};
})[];
extends: {
name: string;
key: string;
attributes: {
owner: {
type: string;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
type: import("pacc").AttributeDefinition;
name: import("pacc").AttributeDefinition;
description: import("pacc").AttributeDefinition;
priority: import("pacc").AttributeDefinition;
directory: import("pacc").AttributeDefinition;
packaging: import("pacc").AttributeDefinition;
disabled: import("pacc").AttributeDefinition;
tags: import("pacc").AttributeDefinition;
};
};
specializations: {};
factoryFor(owner: any, value: any): any;
key: string;
attributes: {
alias: import("pacc").AttributeDefinition;
weight: {
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
systemd: import("pacc").AttributeDefinition;
port: import("pacc").AttributeDefinition;
protocol: {
values: string[];
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
type: import("pacc").AttributeDefinition;
types: typeof import("pacc").string_collection_attribute;
tls: import("pacc").AttributeDefinition;
hostName: {
writable: boolean;
type: object;
isKey: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
cidrAddresses: import("pacc").AttributeDefinition;
cidrAddress: import("pacc").AttributeDefinition;
addresses: import("pacc").AttributeDefinition;
address: import("pacc").AttributeDefinition;
};
};
owners: (string | {
name: string;
owners: string[];
extends: {
name: string;
key: string;
attributes: {
owner: {
type: string;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
type: import("pacc").AttributeDefinition;
name: import("pacc").AttributeDefinition;
description: import("pacc").AttributeDefinition;
priority: import("pacc").AttributeDefinition;
directory: import("pacc").AttributeDefinition;
packaging: import("pacc").AttributeDefinition;
disabled: import("pacc").AttributeDefinition;
tags: import("pacc").AttributeDefinition;
};
};
key: string;
attributes: {
networkInterfaces: {
type: string;
collection: boolean;
isKey: boolean;
writable: boolean;
mandatory: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
services: {
type: string;
collection: boolean;
isKey: boolean;
writable: boolean;
mandatory: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
aliases: import("pacc").AttributeDefinition;
os: {
values: string[];
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
"machine-id": import("pacc").AttributeDefinition;
distribution: import("pacc").AttributeDefinition;
deployment: {
values: string[];
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
weight: import("pacc").AttributeDefinition;
serial: import("pacc").AttributeDefinition;
vendor: import("pacc").AttributeDefinition;
keymap: import("pacc").AttributeDefinition;
chassis: {
values: string[];
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
architecture: {
values: string[];
type: object;
isKey: boolean;
writable: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
replaces: import("pacc").AttributeDefinition;
depends: import("pacc").AttributeDefinition;
provides: import("pacc").AttributeDefinition;
extends: {
type: string;
collection: boolean;
isKey: boolean;
writable: boolean;
mandatory: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
model: import("pacc").AttributeDefinition;
isModel: import("pacc").AttributeDefinition;
hostName: {
writable: boolean;
type: object;
isKey: boolean;
mandatory: boolean;
collection: boolean;
private?: boolean;
depends?: string;
description?: string;
default?: any;
set?: Function;
get?: Function;
prepareValue?: Function;
values?: Set<any>;
externalName?: string;
env?: string[] | string;
additionalValues?: object;
};
cidrAddresses: import("pacc").AttributeDefinition;
cidrAddress: import("pacc").AttributeDefinition;
addresses: import("pacc").AttributeDefinition;
address: import("pacc").AttributeDefinition;
};
})[];
key: string;
service: {
endpoints: ({
family: string;
path: string;
port?: undefined;
protocol?: undefined;
tls?: undefined;
description?: undefined;
} | {
family: string;
port: number;
protocol: string;
tls: boolean;
path?: undefined;
description?: undefined;
} | {
description: string;
family: string;
port: number;
protocol: string;
tls: boolean;
path?: undefined;
})[];
};
};
}
import { Service } from "../service.mjs";