pmcf
Version:
Poor mans configuration management
710 lines (709 loc) • 26.1 kB
text/typescript
/**
*
* @param {*} sources
* @param {Object} [options]
* @param {Function} [options.services] filter for services
* @param {Function} [options.endpoints] filter for endpoints
* @param {Function} [options.select] mapper from Endpoint into result
* @param {number} [options.limit] upper limit of # result items
* @param {string} [options.join] join result(s) into a string
* @returns {string|any}
*/
export function serviceEndpoints(sources: any, options?: {
services?: Function;
endpoints?: Function;
select?: Function;
limit?: number;
join?: string;
}): string | any;
export namespace endpointAttributes {
export { number_attribute_writable as port };
export let 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;
};
export { string_attribute_writable as type };
export { string_collection_attribute as types };
export { boolean_attribute_false as tls };
}
export namespace EndpointTypeDefinition {
export let name: string;
export let owners: string[];
export let specializations: {};
export let key: string;
export { endpointAttributes as attributes };
}
export namespace ServiceTypeDefinition {
let name_1: string;
export { name_1 as name };
let owners_1: (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;
};
})[];
export { owners_1 as owners };
let _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;
};
};
export { _extends as extends };
let specializations_1: {};
export { specializations_1 as specializations };
export function factoryFor(owner: any, value: any): any;
let key_1: string;
export { key_1 as key };
export let 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 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;
};
}
export class Service extends Base {
static get typeDefinition(): {
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 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;
};
};
_alias: any;
_weight: any;
_type: any;
_port: any;
_systemd: any;
get host(): Host;
hosts(): Generator<any, void, any>;
get domainName(): any;
get networks(): Set<any>;
get subnets(): Set<any>;
get serviceTypeEndpoints(): any;
endpoints(filter: any): (UnixEndpoint | HTTPEndpoint | Endpoint | DomainNameEndpoint)[];
endpoint(filter: any): UnixEndpoint | HTTPEndpoint | Endpoint | DomainNameEndpoint;
address(options?: {
endpoints: (e: any) => boolean;
select: (e: any) => any;
limit: number;
join: string;
}): string | any[];
set alias(value: any);
get alias(): any;
set port(value: any);
get port(): any;
set weight(value: any);
get weight(): any;
set type(value: any);
get type(): any;
get types(): Set<any>;
get systemdServices(): any;
dnsRecordsForDomainName(domainName: any, hasSVRRecords: any): {
type: any;
key: any;
values: any[];
toString: (maxKeyLength?: number, ttl?: string) => string;
}[];
}
export function sortAscendingByPriority(a: any, b: any): number;
export function sortDescendingByPriority(a: any, b: any): number;
import { number_attribute_writable } from "pacc";
import { string_attribute_writable } from "pacc";
import { string_collection_attribute } from "pacc";
import { boolean_attribute_false } from "pacc";
import { Base } from "pmcf";
import { Host } from "pmcf";
import { UnixEndpoint } from "pmcf";
import { HTTPEndpoint } from "pmcf";
import { Endpoint } from "pmcf";
import { DomainNameEndpoint } from "pmcf";