UNPKG

@canonical/jujulib

Version:
118 lines (116 loc) 3.36 kB
/** Juju SSHClient version 4. 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 CloudCredential { attrs?: Record<string, string>; "auth-type": string; redacted?: string[]; } export interface CloudSpec { cacertificates?: string[]; credential?: CloudCredential; endpoint?: string; "identity-endpoint"?: string; "is-controller-cloud"?: boolean; name: string; region?: string; "skip-tls-verify"?: boolean; "storage-endpoint"?: string; type: string; } export interface CloudSpecResult { error?: Error; result?: CloudSpec; } export interface Entities { entities: Entity[]; } export interface Entity { tag: string; } export interface Error { code: string; info?: AdditionalProperties; message: string; } export interface SSHAddressResult { address?: string; error?: Error; } export interface SSHAddressResults { results: SSHAddressResult[]; } export interface SSHAddressesResult { addresses: string[]; error?: Error; } export interface SSHAddressesResults { results: SSHAddressesResult[]; } export interface SSHProxyResult { "use-proxy": boolean; } export interface SSHPublicKeysResult { error?: Error; "public-keys"?: string[]; } export interface SSHPublicKeysResults { results: SSHPublicKeysResult[]; } export interface AdditionalProperties { [key: string]: any; } /** Facade implements the API required by the sshclient worker. */ declare class SSHClientV4 implements Facade { static NAME: string; static VERSION: number; NAME: string; VERSION: number; _transport: Transport; _info: ConnectionInfo; constructor(transport: Transport, info: ConnectionInfo); /** AllAddresses reports all addresses that might have SSH listening for each entity in args. The result is sorted with public addresses first. Machines and units are supported as entity types. */ allAddresses(params: Entities): Promise<SSHAddressesResults>; /** ModelCredentialForSSH returns a cloud spec for ssh purpose. This facade call is only used for k8s model. */ modelCredentialForSSH(params: any): Promise<CloudSpecResult>; /** PrivateAddress reports the preferred private network address for one or more entities. Machines and units are supported. */ privateAddress(params: Entities): Promise<SSHAddressResults>; /** Proxy returns whether SSH connections should be proxied through the controller hosts for the model associated with the API connection. */ proxy(params: any): Promise<SSHProxyResult>; /** PublicAddress reports the preferred public network address for one or more entities. Machines and units are supported. */ publicAddress(params: Entities): Promise<SSHAddressResults>; /** PublicKeys returns the public SSH hosts for one or more entities. Machines and units are supported. */ publicKeys(params: Entities): Promise<SSHPublicKeysResults>; } export default SSHClientV4;