UNPKG

@canonical/jujulib

Version:
242 lines (240 loc) 7.08 kB
/** Juju ApplicationOffers version 2. This facade is available on: Controller-machine-agent Machine-agent Unit-agent Controllers NOTE: This file was generated using the Juju schema from Juju 2.8.2 at the git SHA 516c1904ce. Do not manually edit this file. */ import { ConnectionInfo, Transport } from "../../client.js"; import { Facade } from "../../types.js"; export interface AddApplicationOffer { "application-description": string; "application-name": string; endpoints: Record<string, string>; "model-tag": string; "offer-name": string; } export interface AddApplicationOffers { Offers: AddApplicationOffer[]; } export interface ApplicationOfferAdminDetails { ApplicationOfferDetails: ApplicationOfferDetails; "application-description": string; "application-name": string; bindings?: Record<string, string>; "charm-url": string; connections?: OfferConnection[]; endpoints?: RemoteEndpoint[]; "offer-name": string; "offer-url": string; "offer-uuid": string; "source-model-tag": string; spaces?: RemoteSpace[]; users?: OfferUserDetails[]; } export interface ApplicationOfferDetails { "application-description": string; bindings?: Record<string, string>; endpoints?: RemoteEndpoint[]; "offer-name": string; "offer-url": string; "offer-uuid": string; "source-model-tag": string; spaces?: RemoteSpace[]; users?: OfferUserDetails[]; } export interface ApplicationOfferResult { error?: Error; result?: ApplicationOfferAdminDetails; } export interface ApplicationOffersResults { results?: ApplicationOfferResult[]; } export interface ConsumeOfferDetails { "external-controller"?: ExternalControllerInfo; macaroon?: Macaroon; offer?: ApplicationOfferDetails; } export interface ConsumeOfferDetailsResult { ConsumeOfferDetails: ConsumeOfferDetails; error?: Error; "external-controller"?: ExternalControllerInfo; macaroon?: Macaroon; offer?: ApplicationOfferDetails; } export interface ConsumeOfferDetailsResults { results?: ConsumeOfferDetailsResult[]; } export interface DestroyApplicationOffers { force?: boolean; "offer-urls": string[]; } export interface EndpointFilterAttributes { interface: string; name: string; role: 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 ExternalControllerInfo { addrs: string[]; "ca-cert": string; "controller-alias": string; "controller-tag": string; } export interface Macaroon { [key: string]: AdditionalProperties; } export interface ModifyOfferAccess { access: string; action: string; "offer-url": string; "user-tag": string; } export interface ModifyOfferAccessRequest { changes: ModifyOfferAccess[]; } export interface OfferConnection { endpoint: string; "ingress-subnets": string[]; "relation-id": number; "source-model-tag": string; status: EntityStatus; username: string; } export interface OfferFilter { "allowed-users": string[]; "application-description": string; "application-name": string; "application-user": string; "connected-users": string[]; endpoints: EndpointFilterAttributes[]; "model-name": string; "offer-name": string; "owner-name": string; } export interface OfferFilters { Filters: OfferFilter[]; } export interface OfferURLs { "bakery-version"?: number; "offer-urls"?: string[]; } export interface OfferUserDetails { access: string; "display-name": string; user: string; } export interface QueryApplicationOffersResults { results: ApplicationOfferAdminDetails[]; } export interface RemoteApplicationInfo { description: string; endpoints: RemoteEndpoint[]; "icon-url-path": string; "model-tag": string; name: string; "offer-url": string; "source-model-label"?: string; } export interface RemoteApplicationInfoResult { error?: Error; result?: RemoteApplicationInfo; } export interface RemoteApplicationInfoResults { results: RemoteApplicationInfoResult[]; } export interface RemoteEndpoint { interface: string; limit: number; name: string; role: string; } export interface RemoteSpace { "cloud-type": string; name: string; "provider-attributes": AdditionalProperties; "provider-id": string; subnets: Subnet[]; } export interface Subnet { cidr: string; life: string; "provider-id"?: string; "provider-network-id"?: string; "provider-space-id"?: string; "space-tag": string; status?: string; "vlan-tag": number; zones: string[]; } export interface AdditionalProperties { [key: string]: any; } /** OffersAPIV2 implements the cross model interface V2. */ declare class ApplicationOffersV2 implements Facade { static NAME: string; static VERSION: number; NAME: string; VERSION: number; _transport: Transport; _info: ConnectionInfo; constructor(transport: Transport, info: ConnectionInfo); /** ApplicationOffers gets details about remote applications that match given URLs. */ applicationOffers(params: OfferURLs): Promise<ApplicationOffersResults>; /** DestroyOffers removes the offers specified by the given URLs, forcing if necessary. */ destroyOffers(params: DestroyApplicationOffers): Promise<ErrorResults>; /** FindApplicationOffers gets details about remote applications that match given filter. */ findApplicationOffers(params: OfferFilters): Promise<QueryApplicationOffersResults>; /** GetConsumeDetails returns the details necessary to pass to another model to consume the specified offers represented by the urls. */ getConsumeDetails(params: OfferURLs): Promise<ConsumeOfferDetailsResults>; /** ListApplicationOffers gets deployed details about application offers that match given filter. The results contain details about the deployed applications such as connection count. */ listApplicationOffers(params: OfferFilters): Promise<QueryApplicationOffersResults>; /** ModifyOfferAccess changes the application offer access granted to users. */ modifyOfferAccess(params: ModifyOfferAccessRequest): Promise<ErrorResults>; /** Offer makes application endpoints available for consumption at a specified URL. */ offer(params: AddApplicationOffers): Promise<ErrorResults>; /** RemoteApplicationInfo returns information about the requested remote application. This call currently has no client side API, only there for the GUI at this stage. */ remoteApplicationInfo(params: OfferURLs): Promise<RemoteApplicationInfoResults>; } export default ApplicationOffersV2;