UNPKG

@canonical/jujulib

Version:

Juju API client

325 lines (307 loc) 7.8 kB
/** Juju Storage version 7. 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.6.14 at the git SHA b08ad63. Do not manually edit this file. */ import { ConnectionInfo, Transport } from "../../client.js"; import { Facade } from "../../types.js"; export interface AddStorageDetails { "storage-tags": string[]; } export interface AddStorageResult { error?: Error; result?: AddStorageDetails; } export interface AddStorageResults { results: AddStorageResult[]; } export interface BulkImportStorageParamsV2 { storage: ImportStorageParamsV2[]; } export interface Entities { entities: Entity[]; } export interface Entity { tag: string; } export interface EntityStatus { data?: AdditionalProperties; info: string; since: string; status: string; } export interface Error { code: string; info?: AdditionalProperties; message: string; } export interface ErrorResult { error?: Error; } export interface ErrorResults { results: ErrorResult[]; } export interface FilesystemAttachmentDetails { FilesystemAttachmentInfo: FilesystemAttachmentInfo; life?: string; "mount-point"?: string; "read-only"?: boolean; } export interface FilesystemAttachmentInfo { "mount-point"?: string; "read-only"?: boolean; } export interface FilesystemDetails { "filesystem-tag": string; info: FilesystemInfo; life?: string; "machine-attachments"?: Record<string, FilesystemAttachmentDetails>; status: EntityStatus; storage?: StorageDetails; "unit-attachments"?: Record<string, FilesystemAttachmentDetails>; "volume-tag"?: string; } export interface FilesystemDetailsListResult { error?: Error; result?: FilesystemDetails[]; } export interface FilesystemDetailsListResults { results?: FilesystemDetailsListResult[]; } export interface FilesystemFilter { machines?: string[]; } export interface FilesystemFilters { filters?: FilesystemFilter[]; } export interface FilesystemInfo { "filesystem-id": string; pool: string; size: number; } export interface ImportStorageDetails { "storage-tag": string; } export interface ImportStorageParamsV2 { force?: boolean; kind: number; pool: string; "provider-id": string; "storage-name": string; } export interface ImportStorageResult { error?: Error; result?: ImportStorageDetails; } export interface ImportStorageResults { results: ImportStorageResult[]; } export interface RemoveStorage { storage: RemoveStorageInstance[]; } export interface RemoveStorageInstance { "destroy-attachments"?: boolean; "destroy-storage"?: boolean; force?: boolean; "max-wait"?: number; tag: string; } export interface StorageAddParams { name: string; storage: StorageConstraints; unit: string; } export interface StorageAttachmentDetails { life?: string; location?: string; "machine-tag": string; "storage-tag": string; "unit-tag": string; } export interface StorageAttachmentId { "storage-tag": string; "unit-tag": string; } export interface StorageAttachmentIds { ids: StorageAttachmentId[]; } export interface StorageConstraints { count?: number; pool?: string; size?: number; } export interface StorageDetachmentParams { force?: boolean; ids: StorageAttachmentIds; "max-wait"?: number; } export interface StorageDetails { attachments?: Record<string, StorageAttachmentDetails>; kind: number; life?: string; "owner-tag": string; persistent: boolean; status: EntityStatus; "storage-tag": string; } export interface StorageDetailsListResult { error?: Error; result?: StorageDetails[]; } export interface StorageDetailsListResults { results?: StorageDetailsListResult[]; } export interface StorageDetailsResult { error?: Error; result?: StorageDetails; } export interface StorageDetailsResults { results?: StorageDetailsResult[]; } export interface StorageFilter { [key: string]: AdditionalProperties; } export interface StorageFilters { filters?: StorageFilter[]; } export interface StoragePool { attrs: AdditionalProperties; name: string; provider: string; } export interface StoragePoolArgs { pools: StoragePool[]; } export interface StoragePoolDeleteArg { name: string; } export interface StoragePoolDeleteArgs { pools: StoragePoolDeleteArg[]; } export interface StoragePoolFilter { names?: string[]; providers?: string[]; } export interface StoragePoolFilters { filters?: StoragePoolFilter[]; } export interface StoragePoolsResult { error?: Error; "storage-pools"?: StoragePool[]; } export interface StoragePoolsResults { results?: StoragePoolsResult[]; } export interface StoragesAddParams { storages: StorageAddParams[]; } export interface VolumeAttachmentDetails { VolumeAttachmentInfo: VolumeAttachmentInfo; "bus-address"?: string; "device-link"?: string; "device-name"?: string; life?: string; "plan-info"?: VolumeAttachmentPlanInfo; "read-only"?: boolean; } export interface VolumeAttachmentInfo { "bus-address"?: string; "device-link"?: string; "device-name"?: string; "plan-info"?: VolumeAttachmentPlanInfo; "read-only"?: boolean; } export interface VolumeAttachmentPlanInfo { "device-attributes"?: Record<string, string>; "device-type"?: string; } export interface VolumeDetails { info: VolumeInfo; life?: string; "machine-attachments"?: Record<string, VolumeAttachmentDetails>; status: EntityStatus; storage?: StorageDetails; "unit-attachments"?: Record<string, VolumeAttachmentDetails>; "volume-tag": string; } export interface VolumeDetailsListResult { error?: Error; result?: VolumeDetails[]; } export interface VolumeDetailsListResults { results?: VolumeDetailsListResult[]; } export interface VolumeFilter { machines?: string[]; } export interface VolumeFilters { filters?: VolumeFilter[]; } export interface VolumeInfo { "hardware-id"?: string; persistent: boolean; pool?: string; size: number; "volume-id": string; wwn?: string; } export interface AdditionalProperties { [key: string]: any; } /** */ declare class StorageV7 implements Facade { static NAME: string; static VERSION: number; NAME: string; VERSION: number; _transport: Transport; _info: ConnectionInfo; constructor(transport: Transport, info: ConnectionInfo); /** */ addToUnit(params: StoragesAddParams): Promise<AddStorageResults>; /** */ attach(params: StorageAttachmentIds): Promise<ErrorResults>; /** */ createPool(params: StoragePoolArgs): Promise<ErrorResults>; /** */ detachStorage(params: StorageDetachmentParams): Promise<ErrorResults>; /** */ import(params: BulkImportStorageParamsV2): Promise<ImportStorageResults>; /** */ listFilesystems(params: FilesystemFilters): Promise<FilesystemDetailsListResults>; /** */ listPools(params: StoragePoolFilters): Promise<StoragePoolsResults>; /** */ listStorageDetails(params: StorageFilters): Promise<StorageDetailsListResults>; /** */ listVolumes(params: VolumeFilters): Promise<VolumeDetailsListResults>; /** */ remove(params: RemoveStorage): Promise<ErrorResults>; /** */ removePool(params: StoragePoolDeleteArgs): Promise<ErrorResults>; /** */ storageDetails(params: Entities): Promise<StorageDetailsResults>; /** */ updatePool(params: StoragePoolArgs): Promise<ErrorResults>; } export default StorageV7;