@serve.zone/api
Version:
The `@serve.zone/api` module is a robust and versatile API client, designed to facilitate seamless communication with various cloud resources managed by the Cloudly platform. This API client extends a rich set of functionalities, offering developers a com
74 lines (73 loc) • 3.68 kB
TypeScript
import * as plugins from './plugins.js';
export type TClientType = 'api' | 'ci' | 'coreflow' | 'cli' | 'serverconfig';
import { Image } from './classes.image.js';
import { Service } from './classes.service.js';
import { Cluster } from './classes.cluster.js';
import { SecretBundle } from './classes.secretbundle.js';
import { SecretGroup } from './classes.secretgroup.js';
import { ExternalRegistry } from './classes.externalregistry.js';
export declare class CloudlyApiClient {
private cloudlyUrl;
private registerAs;
typedrouter: plugins.typedrequest.TypedRouter;
typedsocketClient: plugins.typedsocket.TypedSocket;
configUpdateSubject: plugins.smartrx.rxjs.Subject<plugins.servezoneInterfaces.requests.config.IRequest_Cloudly_Coreflow_PushClusterConfig>;
serverActionSubject: plugins.smartrx.rxjs.Subject<plugins.servezoneInterfaces.requests.server.IRequest_TriggerServerAction>;
constructor(optionsArg: {
registerAs: TClientType;
cloudlyUrl?: string;
});
start(): Promise<void>;
stop(): Promise<void>;
identity: plugins.servezoneInterfaces.data.IIdentity;
getIdentityByToken(token: string, optionsArg?: {
tagConnection?: boolean;
statefullIdentity?: boolean;
}): Promise<plugins.servezoneInterfaces.data.IIdentity>;
/**
* will use statefull identity by default
*/
getClusterConfigFromCloudlyByIdentity(identityArg?: plugins.servezoneInterfaces.data.IIdentity): Promise<plugins.servezoneInterfaces.data.ICluster>;
/**
* will use statefull identity by default
*/
getServerConfigFromCloudlyByIdentity(identityArg?: plugins.servezoneInterfaces.data.IIdentity): Promise<plugins.servezoneInterfaces.data.IServer>;
/**
* gets a certificate for a domain used by a service
*/
getCertificateForDomain(optionsArg: {
domainName: string;
type: plugins.servezoneInterfaces.requests.certificate.IRequest_Any_Cloudly_GetCertificateForDomain['request']['type'];
identity?: plugins.servezoneInterfaces.data.IIdentity;
}): Promise<plugins.tsclass.network.ICert>;
externalRegistry: {
getRegistryById: (registryNameArg: string) => Promise<ExternalRegistry>;
getRegistries: () => Promise<ExternalRegistry[]>;
createRegistry: (optionsArg: Parameters<typeof ExternalRegistry.createExternalRegistry>[1]) => Promise<ExternalRegistry>;
};
image: {
getImageById: (imageIdArg: string) => Promise<Image>;
getImages: () => Promise<Image[]>;
createImage: (optionsArg: Parameters<typeof Image.createImage>[1]) => Promise<Image>;
};
services: {
getServiceById: (serviceIdArg: string) => Promise<Service>;
getServices: () => Promise<Service[]>;
createService: (optionsArg: Parameters<typeof Service.createService>[1]) => Promise<Service>;
};
cluster: {
getClusterById: (clusterIdArg: string) => Promise<Cluster>;
getClusters: () => Promise<Cluster[]>;
createCluster: (optionsArg: Parameters<typeof Cluster.createCluster>[1]) => Promise<Cluster>;
};
secretbundle: {
getSecretBundleById: (secretBundleIdArg: string) => Promise<SecretBundle>;
getSecretBundles: () => Promise<SecretBundle[]>;
createSecretBundle: (optionsArg: Parameters<typeof SecretBundle.createSecretBundle>[1]) => Promise<SecretBundle>;
};
secretgroup: {
getSecretGroupById: (secretGroupIdArg: string) => Promise<SecretGroup>;
getSecretGroups: () => Promise<SecretGroup[]>;
createSecretGroup: (optionsArg: Parameters<typeof SecretGroup.createSecretGroup>[1]) => Promise<SecretGroup>;
};
}