@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
34 lines (29 loc) • 1.2 kB
text/typescript
// SPDX-License-Identifier: Apache-2.0
import {V1ConfigMap, V1ObjectMeta} from '@kubernetes/client-node';
import {type ConfigMap} from '../../../resources/config-map/config-map.js';
import {NamespaceName} from '../../../../../types/namespace/namespace-name.js';
export class K8ClientConfigMap implements ConfigMap {
public constructor(
public readonly namespace: NamespaceName,
public readonly name: string,
public readonly labels?: Record<string, string>,
public readonly data?: Record<string, string>,
) {}
public static fromV1ConfigMap(v1ConfigMap: V1ConfigMap): ConfigMap {
return new K8ClientConfigMap(
NamespaceName.of(v1ConfigMap.metadata.namespace),
v1ConfigMap.metadata.name,
v1ConfigMap.metadata.labels,
v1ConfigMap.data,
);
}
public static toV1ConfigMap(configMap: ConfigMap): V1ConfigMap {
const v1ConfigMap: V1ConfigMap = new V1ConfigMap();
v1ConfigMap.metadata = new V1ObjectMeta();
v1ConfigMap.metadata.name = configMap.name;
v1ConfigMap.metadata.namespace = configMap.namespace.name;
v1ConfigMap.metadata.labels = configMap.labels;
v1ConfigMap.data = configMap.data;
return v1ConfigMap;
}
}