@hashgraph/solo
Version:
An opinionated CLI tool to deploy and manage private Hedera Networks.
55 lines (45 loc) • 2.03 kB
text/typescript
// SPDX-License-Identifier: Apache-2.0
import {Exclude, Expose, Type} from 'class-transformer';
import {RemoteConfigMetadataSchema} from './remote-config-metadata-schema.js';
import {ApplicationVersionsSchema} from '../common/application-versions-schema.js';
import {ClusterSchema} from '../common/cluster-schema.js';
import {DeploymentStateSchema} from './deployment-state-schema.js';
import {DeploymentHistorySchema} from './deployment-history-schema.js';
import {SemanticVersion} from '../../../../business/utils/semantic-version.js';
import {RemoteConfigStructure} from './interfaces/remote-config-structure.js';
()
export class RemoteConfigSchema implements RemoteConfigStructure {
public static readonly SCHEMA_VERSION: SemanticVersion<number> = new SemanticVersion(1);
()
public schemaVersion: number;
()
((): typeof RemoteConfigMetadataSchema => RemoteConfigMetadataSchema)
public metadata: RemoteConfigMetadataSchema;
()
((): typeof ApplicationVersionsSchema => ApplicationVersionsSchema)
public versions: ApplicationVersionsSchema;
()
((): typeof ClusterSchema => ClusterSchema)
public clusters: ClusterSchema[];
()
((): typeof DeploymentStateSchema => DeploymentStateSchema)
public state: DeploymentStateSchema;
()
((): typeof DeploymentHistorySchema => DeploymentHistorySchema)
public history: DeploymentHistorySchema;
public constructor(
schemaVersion?: number,
metadata?: RemoteConfigMetadataSchema,
versions?: ApplicationVersionsSchema,
clusters?: ClusterSchema[],
state?: DeploymentStateSchema,
history?: DeploymentHistorySchema,
) {
this.schemaVersion = schemaVersion || 0;
this.metadata = metadata || new RemoteConfigMetadataSchema();
this.versions = versions || new ApplicationVersionsSchema();
this.clusters = clusters || [];
this.state = state || new DeploymentStateSchema();
this.history = history || new DeploymentHistorySchema();
}
}