@canonical/jujulib
Version:
Juju API client
218 lines (206 loc) • 5.59 kB
TypeScript
/**
Juju ApplicationOffers version 6.
NOTE: This file was generated using the Juju schema
from Juju 4.0.1 at the git SHA 22e0b6a.
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;
"owner-tag"?: string;
}
export interface AddApplicationOffers {
Offers: AddApplicationOffer[];
}
export interface ApplicationOfferAdminDetailsV5 {
ApplicationOfferDetailsV5: ApplicationOfferDetailsV5;
"application-description": string;
"application-name": string;
"charm-url": string;
connections?: OfferConnection[];
endpoints?: RemoteEndpoint[];
"offer-name": string;
"offer-url": string;
"offer-uuid": string;
"source-model-tag": string;
users?: OfferUserDetails[];
}
export interface ApplicationOfferDetailsV5 {
"application-description": string;
endpoints?: RemoteEndpoint[];
"offer-name": string;
"offer-url": string;
"offer-uuid": string;
"source-model-tag": string;
users?: OfferUserDetails[];
}
export interface ApplicationOfferResult {
error?: Error;
result?: ApplicationOfferAdminDetailsV5;
}
export interface ApplicationOffersResults {
results?: ApplicationOfferResult[];
}
export interface ConsumeOfferDetails {
"external-controller"?: ExternalControllerInfo;
macaroon?: Macaroon;
offer?: ApplicationOfferDetailsV5;
}
export interface ConsumeOfferDetailsArg {
"offer-urls": OfferURLs;
"user-tag"?: string;
}
export interface ConsumeOfferDetailsResult {
ConsumeOfferDetails: ConsumeOfferDetails;
error?: Error;
"external-controller"?: ExternalControllerInfo;
macaroon?: Macaroon;
offer?: ApplicationOfferDetailsV5;
}
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;
"model-qualifier": string;
"offer-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 QueryApplicationOffersResultsV5 {
results: ApplicationOfferAdminDetailsV5[];
}
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 AdditionalProperties {
[key: string]: any;
}
/**
*/
declare class ApplicationOffersV6 implements Facade {
static NAME: string;
static VERSION: number;
NAME: string;
VERSION: number;
_transport: Transport;
_info: ConnectionInfo;
constructor(transport: Transport, info: ConnectionInfo);
/**
*/
applicationOffers(params: OfferURLs): Promise<ApplicationOffersResults>;
/**
*/
destroyOffers(params: DestroyApplicationOffers): Promise<ErrorResults>;
/**
*/
findApplicationOffers(params: OfferFilters): Promise<QueryApplicationOffersResultsV5>;
/**
*/
getConsumeDetails(params: ConsumeOfferDetailsArg): Promise<ConsumeOfferDetailsResults>;
/**
*/
listApplicationOffers(params: OfferFilters): Promise<QueryApplicationOffersResultsV5>;
/**
*/
modifyOfferAccess(params: ModifyOfferAccessRequest): Promise<ErrorResults>;
/**
*/
offer(params: AddApplicationOffers): Promise<ErrorResults>;
/**
*/
remoteApplicationInfo(params: OfferURLs): Promise<RemoteApplicationInfoResults>;
}
export default ApplicationOffersV6;