UNPKG

@canonical/jujulib

Version:
329 lines (326 loc) 8.52 kB
/** Juju CAASOperatorProvisioner version 1. This facade is available on: Controller-machine-agent Machine-agent Unit-agent Models NOTE: This file was generated using the Juju schema from Juju 3.3 at the git SHA 65fa4c1ee5. Do not manually edit this file. */ import { ConnectionInfo, Transport } from "../../client.js"; import { Facade } from "../../types.js"; export interface APIHostPortsResult { servers: HostPort[][]; } export interface Address { cidr?: string; "config-type"?: string; "is-secondary"?: boolean; scope: string; "space-id"?: string; "space-name"?: string; type: string; value: string; } export interface Charm { actions?: CharmActions; config: Record<string, CharmOption>; "lxd-profile"?: CharmLXDProfile; manifest?: CharmManifest; meta?: CharmMeta; metrics?: CharmMetrics; revision: number; url: string; } export interface CharmActionSpec { description: string; params: AdditionalProperties; } export interface CharmActions { specs?: Record<string, CharmActionSpec>; } export interface CharmBase { architectures?: string[]; channel?: string; name?: string; } export interface CharmContainer { mounts?: CharmMount[]; resource?: string; } export interface CharmDeployment { "min-version": string; mode: string; service: string; type: string; } export interface CharmDevice { CountMax: number; CountMin: number; Description: string; Name: string; Type: string; } export interface CharmLXDProfile { config: Record<string, string>; description: string; devices: Record<string, Record<string, string>>; } export interface CharmManifest { bases?: CharmBase[]; } export interface CharmMeta { "assumes-expr"?: ExpressionTree; categories?: string[]; containers?: Record<string, CharmContainer>; deployment?: CharmDeployment; description: string; devices?: Record<string, CharmDevice>; "extra-bindings"?: Record<string, string>; "min-juju-version"?: string; name: string; "payload-classes"?: Record<string, CharmPayloadClass>; peers?: Record<string, CharmRelation>; provides?: Record<string, CharmRelation>; requires?: Record<string, CharmRelation>; resources?: Record<string, CharmResourceMeta>; series?: string[]; storage?: Record<string, CharmStorage>; subordinate: boolean; summary: string; tags?: string[]; terms?: string[]; } export interface CharmMetric { description: string; type: string; } export interface CharmMetrics { metrics: Record<string, CharmMetric>; plan: CharmPlan; } export interface CharmMount { location?: string; storage?: string; } export interface CharmOption { default?: AdditionalProperties; description?: string; type: string; } export interface CharmPayloadClass { name: string; type: string; } export interface CharmPlan { required: boolean; } export interface CharmRelation { interface: string; limit: number; name: string; optional: boolean; role: string; scope: string; } export interface CharmResourceMeta { description: string; name: string; path: string; type: string; } export interface CharmStorage { "count-max": number; "count-min": number; description: string; location?: string; "minimum-size": number; name: string; properties?: string[]; "read-only": boolean; shared: boolean; type: string; } export interface CharmURL { url: string; } export interface DockerImageInfo { auth?: string; email?: string; identitytoken?: string; "image-name": string; password?: string; registrytoken?: string; repository?: string; serveraddress?: string; username?: string; } export interface Entities { entities: Entity[]; } export interface Entity { tag: string; } export interface EntityPassword { password: string; tag: string; } export interface EntityPasswords { changes: EntityPassword[]; } export interface Error { code: string; info?: AdditionalProperties; message: string; } export interface ErrorResult { error?: Error; } export interface ErrorResults { results: ErrorResult[]; } export interface ExpressionTree { Expression: AdditionalProperties; } export interface HostPort { Address: Address; cidr?: string; "config-type"?: string; "is-secondary"?: boolean; port: number; scope: string; "space-id"?: string; "space-name"?: string; type: string; value: string; } export interface IssueOperatorCertificateResult { "ca-cert": string; cert: string; error?: Error; "private-key": string; } export interface IssueOperatorCertificateResults { results: IssueOperatorCertificateResult[]; } export interface KubernetesFilesystemAttachmentParams { "mount-point"?: string; provider: string; "read-only"?: boolean; } export interface KubernetesFilesystemParams { attachment?: KubernetesFilesystemAttachmentParams; attributes?: AdditionalProperties; provider: string; size: number; storagename: string; tags?: Record<string, string>; } export interface LifeResult { error?: Error; life: string; } export interface LifeResults { results: LifeResult[]; } export interface NotifyWatchResult { NotifyWatcherId: string; error?: Error; } export interface Number { Build: number; Major: number; Minor: number; Patch: number; Tag: string; } export interface OperatorProvisioningInfo { "api-addresses": string[]; "base-image-details": DockerImageInfo; "charm-storage"?: KubernetesFilesystemParams; error?: Error; "image-details": DockerImageInfo; tags?: Record<string, string>; version: Number; } export interface OperatorProvisioningInfoResults { results: OperatorProvisioningInfo[]; } export interface StringResult { error?: Error; result: string; } export interface StringsResult { error?: Error; result?: string[]; } export interface StringsWatchResult { changes?: string[]; error?: Error; "watcher-id": string; } export interface AdditionalProperties { [key: string]: any; } /** */ declare class CAASOperatorProvisionerV1 implements Facade { static NAME: string; static VERSION: number; NAME: string; VERSION: number; _transport: Transport; _info: ConnectionInfo; constructor(transport: Transport, info: ConnectionInfo); /** APIAddresses returns the list of addresses used to connect to the API. */ aPIAddresses(params: any): Promise<StringsResult>; /** APIHostPorts returns the API server addresses. */ aPIHostPorts(params: any): Promise<APIHostPortsResult>; /** ApplicationCharmInfo returns information about an application's charm. */ applicationCharmInfo(params: Entity): Promise<Charm>; /** CharmInfo returns information about the requested charm. */ charmInfo(params: CharmURL): Promise<Charm>; /** IssueOperatorCertificate issues an x509 certificate for use by the specified application operator. */ issueOperatorCertificate(params: Entities): Promise<IssueOperatorCertificateResults>; /** Life returns the life status of every supplied entity, where available. */ life(params: Entities): Promise<LifeResults>; /** ModelUUID returns the model UUID that this facade is used to operate. It is implemented here directly as a result of removing it from embedded APIAddresser *without* bumping the facade version. It should be blanked when this facade version is next incremented. */ modelUUID(params: any): Promise<StringResult>; /** OperatorProvisioningInfo returns the info needed to provision an operator. */ operatorProvisioningInfo(params: Entities): Promise<OperatorProvisioningInfoResults>; /** SetPasswords sets the given password for each supplied entity, if possible. */ setPasswords(params: EntityPasswords): Promise<ErrorResults>; /** WatchAPIHostPorts watches the API server addresses. */ watchAPIHostPorts(params: any): Promise<NotifyWatchResult>; /** WatchApplications starts a StringsWatcher to watch applications deployed to this model. */ watchApplications(params: any): Promise<StringsWatchResult>; } export default CAASOperatorProvisionerV1;