UNPKG

@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
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>; }; }