pmcf
Version:
Poor mans configuration management
360 lines (359 loc) • 11.8 kB
text/typescript
export class Cluster extends Host {
static get typeDefinition(): {
name: string;
owners: (string | {
name: string;
owners: string[];
priority: number;
extends: {
name: string;
owners: any[];
properties: {
owner: {
type: string;
collection: boolean;
writeable: boolean;
};
type: {
type: string;
collection: boolean;
writeable: boolean;
};
name: {
type: string;
collection: boolean;
identifier: boolean;
writeable: boolean;
};
description: {
type: string;
collection: boolean;
writeable: boolean;
};
priority: {
type: string;
collection: boolean;
writeable: boolean;
};
directory: {
type: string;
collection: boolean;
writeable: boolean;
};
packaging: {
type: string;
collection: boolean;
writeable: boolean;
};
tags: {
type: string;
collection: boolean;
writeable: boolean;
};
};
};
properties: {
networks: {
type: string;
collection: boolean;
writeable: boolean;
};
hosts: {
type: string;
collection: boolean;
writeable: boolean;
};
clusters: {
type: string;
collection: boolean;
writeable: boolean;
};
subnets: {
type: {
name: string;
owners: string[];
priority: number;
constructWithIdentifierOnly: boolean;
properties: {
address: {
type: string;
collection: boolean;
writeable: boolean;
identifier: boolean;
};
networks: {
type: string;
collection: boolean;
writeable: boolean;
};
prefixLength: {
type: string;
collection: boolean;
writeable: boolean;
};
};
};
collection: boolean;
writeable: boolean;
};
country: {
type: string;
collection: boolean;
writeable: boolean;
};
domain: {
type: string;
collection: boolean;
writeable: boolean;
};
domains: {
type: string;
collection: boolean;
writeable: boolean;
};
timezone: {
type: string;
collection: boolean;
writeable: boolean;
};
architectures: {
type: string;
collection: boolean;
writeable: boolean;
};
locales: {
type: string;
collection: boolean;
writeable: boolean;
};
administratorEmail: {
type: string;
collection: boolean;
writeable: boolean;
};
};
})[];
priority: number;
extends: {
name: string;
priority: number;
owners: string[];
extends: {
name: string;
owners: any[];
properties: {
owner: {
type: string;
collection: boolean;
writeable: boolean;
};
type: {
type: string;
collection: boolean;
writeable: boolean;
};
name: {
type: string;
collection: boolean;
identifier: boolean;
writeable: boolean;
};
description: {
type: string;
collection: boolean;
writeable: boolean;
};
priority: {
type: string;
collection: boolean;
writeable: boolean;
};
directory: {
type: string;
collection: boolean;
writeable: boolean;
};
packaging: {
type: string;
collection: boolean;
writeable: boolean;
};
tags: {
type: string;
collection: boolean;
writeable: boolean;
};
};
};
properties: {
networkInterfaces: {
type: string;
collection: boolean;
writeable: boolean;
};
services: {
type: string;
collection: boolean;
writeable: boolean;
};
aliases: {
type: string;
collection: boolean;
writeable: boolean;
};
os: {
type: string;
collection: boolean;
writeable: boolean;
values: string[];
};
"machine-id": {
type: string;
collection: boolean;
writeable: boolean;
};
distribution: {
type: string;
collection: boolean;
writeable: boolean;
};
deployment: {
type: string;
collection: boolean;
writeable: boolean;
values: string[];
};
weight: {
type: string;
collection: boolean;
writeable: boolean;
};
serial: {
type: string;
collection: boolean;
writeable: boolean;
};
vendor: {
type: string;
collection: boolean;
writeable: boolean;
};
chassis: {
type: string;
collection: boolean;
writeable: boolean;
values: string[];
};
architecture: {
type: string;
collection: boolean;
writeable: boolean;
values: string[];
};
replaces: {
type: string;
collection: boolean;
writeable: boolean;
};
depends: {
type: string;
collection: boolean;
writeable: boolean;
};
provides: {
type: string;
collection: boolean;
writeable: boolean;
};
extends: {
type: string;
collection: boolean;
writeable: boolean;
};
model: {
type: string;
collection: boolean;
writeable: boolean;
};
isModel: {
type: string;
collection: boolean;
writeable: boolean;
};
hostName: {
type: string;
collection: boolean;
writeable: boolean;
};
cidrAddresses: {
type: string;
collection: boolean;
writeable: boolean;
};
cidrAddress: {
type: string;
collection: boolean;
writeable: boolean;
};
addresses: {
type: string;
collection: boolean;
writeable: boolean;
};
address: {
type: string;
collection: boolean;
writeable: boolean;
};
};
};
properties: {
routerId: {
type: string;
collection: boolean;
writeable: boolean;
};
masters: {
type: string;
collection: boolean;
writeable: boolean;
};
backups: {
type: string;
collection: boolean;
writeable: boolean;
};
members: {
type: string;
collection: boolean;
writeable: boolean;
};
checkInterval: {
type: string;
collection: boolean;
writeable: boolean;
};
};
};
_masters: Set<any>;
_backups: Set<any>;
routerId: number;
checkInterval: number;
set masters(value: Set<any>);
get masters(): Set<any>;
set backups(value: Set<any>);
get backups(): Set<any>;
get members(): Set<any>;
preparePackages(stagingDir: any): AsyncGenerator<{
sources: AsyncIterable<import("content-entry").ContentEntry>[];
outputs: any;
properties: {
name: string;
description: string;
access: string;
dependencies: string[];
replaces: string[];
};
}, void, unknown>;
}
import { Host } from "./host.mjs";