balena-sdk
Version:
The Balena JavaScript SDK
962 lines (961 loc) • 38.3 kB
TypeScript
import type { SubmitBody } from '../../typings/pinejs-client-core';
import type { InjectedDependenciesParam, InjectedOptionsParam, PineOptions, Application, ApplicationTag, ApplicationVariable, BuildVariable, PinePostResult } from '..';
import type { CurrentServiceWithCommit, DeviceWithServiceDetails } from '../util/device-service-details';
declare const getApplicationModel: (deps: InjectedDependenciesParam, opts: InjectedOptionsParam) => {
_getId: (slugOrUuidOrId: string | number) => Promise<number>;
/**
* @summary Get Dashboard URL for a specific application
* @function getDashboardUrl
* @memberof balena.models.application
*
* @param {Number} id - Application id
*
* @returns {String} - Dashboard URL for the specific application
* @throws Exception if the id is not a finite number
*
* @example
* balena.models.application.get('myorganization/myapp').then(function(application) {
* const dashboardApplicationUrl = balena.models.application.getDashboardUrl(application.id);
* console.log(dashboardApplicationUrl);
* });
*/
getDashboardUrl(id: number): string;
/**
* @summary Get all applications
* @name getAll
* @public
* @function
* @memberof balena.models.application
*
* @param {Object} [options={}] - extra pine options to use
* @param {String} [context] - extra access filters, undefined or 'directly_accessible'
* @fulfil {Object[]} - applications
* @returns {Promise}
*
* @example
* balena.models.application.getAll().then(function(applications) {
* console.log(applications);
* });
*/
getAll(options?: PineOptions<Application>, context?: "directly_accessible"): Promise<Application[]>;
/**
* @summary Get all applications directly accessible by the user
* @name getAllDirectlyAccessible
* @public
* @function
* @memberof balena.models.application
*
* @param {Object} [options={}] - extra pine options to use
* @fulfil {Object[]} - applications
* @returns {Promise}
*
* @example
* balena.models.application.getAllDirectlyAccessible().then(function(applications) {
* console.log(applications);
* });
*/
getAllDirectlyAccessible(options?: PineOptions<Application>): Promise<Application[]>;
/**
* @summary Get all applications of an organization
* @name getAllByOrganization
* @public
* @function
* @memberof balena.models.application
*
* @param {Number|String} orgHandleOrId - organization handle (string) or id (number)
* @param {Object} [options={}] - extra pine options to use
* @fulfil {Object[]} - applications
* @returns {Promise}
*
* @example
* balena.models.application.getAllByOrganization().then(function(applications) {
* console.log(applications);
* });
*/
getAllByOrganization(orgHandleOrId: number | string, options?: PineOptions<Application>): Promise<Application[]>;
/**
* @summary Get a single application
* @name get
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {Object} [options={}] - extra pine options to use
* @param {String} [context] - extra access filters, undefined or 'directly_accessible'
* @fulfil {Object} - application
* @returns {Promise}
*
* @example
* balena.models.application.get('myorganization/myapp').then(function(application) {
* console.log(application);
* });
*
* @example
* balena.models.application.get('1bf99a68cf9e4266986e6dec7a6e8f46').then(function(application) {
* console.log(application);
* });
*
* @example
* balena.models.application.get(123).then(function(application) {
* console.log(application);
* });
*/
get(slugOrUuidOrId: string | number, options?: PineOptions<Application>, context?: "directly_accessible"): Promise<Application>;
/**
* @summary Get a single application directly accessible by the user
* @name getDirectlyAccessible
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {Object} [options={}] - extra pine options to use
* @fulfil {Object} - application
* @returns {Promise}
*
* @example
* balena.models.application.getDirectlyAccessible('myorganization/myapp').then(function(application) {
* console.log(application);
* });
*
* @example
* balena.models.application.getDirectlyAccessible(123).then(function(application) {
* console.log(application);
* });
*/
getDirectlyAccessible(slugOrUuidOrId: string | number, options?: PineOptions<Application>): Promise<Application>;
/**
* @summary Get a single application and its devices, along with each device's
* associated services' essential details
* @name getWithDeviceServiceDetails
* @public
* @function
* @memberof balena.models.application
*
* @description
* This method does not map exactly to the underlying model: it runs a
* larger prebuilt query, and reformats it into an easy to use and
* understand format. If you want more control, or to see the raw model
* directly, use `application.get(uuidOrId, options)` instead.
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {Object} [options={}] - extra pine options to use
* @fulfil {Object} - application
* @returns {Promise}
*
* @example
* balena.models.application.getWithDeviceServiceDetails('myorganization/myapp').then(function(device) {
* console.log(device);
* })
*
* @example
* balena.models.application.getWithDeviceServiceDetails(123).then(function(device) {
* console.log(device);
* })
*/
getWithDeviceServiceDetails(slugOrUuidOrId: string | number, options?: PineOptions<Application>): Promise<Application & {
owns__device: Array<DeviceWithServiceDetails<CurrentServiceWithCommit>>;
}>;
/**
* @summary Get a single application using the appname and the handle of the owning organization
* @name getAppByName
* @public
* @function
* @memberof balena.models.application
*
* @param {String} appName - application name
* @param {Object} [options={}] - extra pine options to use
* @param {String} [context] - extra access filters, undefined or 'directly_accessible'
* @fulfil {Object} - application
* @returns {Promise}
*
* @example
* balena.models.application.getAppByName('MyApp').then(function(application) {
* console.log(application);
* });
*/
getAppByName(appName: string, options?: PineOptions<Application>, context?: "directly_accessible"): Promise<Application>;
/**
* @summary Check if an application exists
* @name has
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @fulfil {Boolean} - has application
* @returns {Promise}
*
* @example
* balena.models.application.has('myorganization/myapp').then(function(hasApp) {
* console.log(hasApp);
* });
*
* @example
* balena.models.application.has(123).then(function(hasApp) {
* console.log(hasApp);
* });
*/
has: (slugOrUuidOrId: string | number) => Promise<boolean>;
/**
* @summary Check if the user has access to any applications
* @name hasAny
* @public
* @function
* @memberof balena.models.application
*
* @fulfil {Boolean} - has any applications
* @returns {Promise}
*
* @example
* balena.models.application.hasAny().then(function(hasAny) {
* console.log('Has any?', hasAny);
* });
*/
hasAny: () => Promise<boolean>;
/**
* @summary Create an application
* @name create
* @public
* @function
* @memberof balena.models.application
*
* @param {Object} options - application creation parameters
* @param {String} options.name - application name
* @param {String} [options.uuid] - application uuid
* @param {String} [options.applicationClass] - application class: 'app' | 'fleet' | 'block'
* @param {String} options.deviceType - device type slug
* @param {(String|Number)} options.organization - handle (string) or id (number) of the organization that the application will belong to or null
*
* @fulfil {Object} - application
* @returns {Promise}
*
* @example
* balena.models.application.create({ name: 'My App', deviceType: 'raspberry-pi' }).then(function(application) {
* console.log(application);
* });
*
* @example
* balena.models.application.create({ name: 'My Block', applicationClass: 'block', deviceType: 'raspberry-pi' }).then(function(application) {
* console.log(application);
* });
*
* @example
* balena.models.application.create({ name: 'My App', deviceType: 'raspberry-pi', parent: 'ParentApp' }).then(function(application) {
* console.log(application);
* });
*/
create({ name, uuid, applicationClass, deviceType, organization, }: {
name: string;
uuid?: string;
applicationClass?: "app" | "fleet" | "block";
deviceType: string;
organization: number | string;
}): Promise<PinePostResult<Application>>;
/**
* @summary Remove application
* @name remove
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number|Number[]} slugOrUuidOrIdOrIds - application slug (string), uuid (string) or id (number) or array of ids
* @returns {Promise}
*
* @example
* balena.models.application.remove('myorganization/myapp');
*
* @example
* balena.models.application.remove(123);
*/
remove: (slugOrUuidOrIdOrIds: string | number | number[]) => Promise<void>;
/**
* @summary Rename application
* @name rename
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {String} newName - new application name (string)
* @returns {Promise}
*
* @example
* balena.models.application.rename('myorganization/myapp', 'MyRenamedApp');
*
* @example
* balena.models.application.rename(123, 'MyRenamedApp');
*/
rename: (slugOrUuidOrId: string | number, newAppName: string) => Promise<void>;
/**
* @summary Restart application
* @name restart
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @returns {Promise}
*
* @example
* balena.models.application.restart('myorganization/myapp');
*
* @example
* balena.models.application.restart(123);
*/
restart: (slugOrUuidOrId: string | number) => Promise<void>;
/**
* @summary Generate a device provisioning key for a specific application
* @name generateProvisioningKey
* @public
* @function
* @memberof balena.models.application
*
* @param {Object} generateProvisioningKeyParams - an object containing the parameters for the provisioning key generation
* @param {String|Number} generateProvisioningKeyParams.slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {String} generateProvisioningKeyParams.keyExpiryDate - Expiry Date for provisioning key
* @param {String} [generateProvisioningKeyParams.keyName] - Provisioning key name
* @param {String} [generateProvisioningKeyParams.keyDescription] - Description for provisioning key
* @fulfil {String} - device provisioning key
* @returns {Promise}
*
* @example
* balena.models.application.generateProvisioningKey({slugOrUuidOrId: 'myorganization/myapp', keyExpiryDate: '2030-10-12'}).then(function(key) {
* console.log(key);
* });
*
* @example
* balena.models.application.generateProvisioningKey({slugOrUuidOrId: 123, keyExpiryDate: '2030-10-12'}).then(function(key) {
* console.log(key);
* });
*
* @example
* balena.models.application.generateProvisioningKey({slugOrUuidOrId: 123, keyExpiryDate: '2030-10-12', keyName: 'api key name', keyDescription: 'api key long description'}).then(function(key) {
* console.log(key);
* });
*/
generateProvisioningKey: ({ slugOrUuidOrId, keyExpiryDate, keyName, keyDescription, }: {
slugOrUuidOrId: string | number;
keyExpiryDate: string | null;
keyName?: string;
keyDescription?: string;
}) => Promise<string>;
/**
* @summary Purge devices by application id
* @name purge
* @public
* @function
* @memberof balena.models.application
*
* @param {Number} appId - application id
* @returns {Promise}
*
* @example
* balena.models.application.purge(123);
*/
purge: (appId: number) => Promise<void>;
/**
* @summary Shutdown devices by application id
* @name shutdown
* @public
* @function
* @memberof balena.models.application
*
* @param {Number} appId - application id
* @param {Object} [options] - options
* @param {Boolean} [options.force=false] - override update lock
* @returns {Promise}
*
* @example
* balena.models.application.shutdown(123);
*/
shutdown: (appId: number, options?: {
force?: boolean;
}) => Promise<void>;
/**
* @summary Reboot devices by application id
* @name reboot
* @public
* @function
* @memberof balena.models.application
*
* @param {Number} appId - application id
* @param {Object} [options] - options
* @param {Boolean} [options.force=false] - override update lock
* @returns {Promise}
*
* @example
* balena.models.application.reboot(123);
*/
reboot: (appId: number, options?: {
force?: boolean;
}) => Promise<void>;
/**
* @summary Get whether the application is configured to receive updates whenever a new release is available
* @name willTrackNewReleases
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @fulfil {Boolean} - is tracking the latest release
* @returns {Promise}
*
* @example
* balena.models.application.willTrackNewReleases('myorganization/myapp').then(function(isEnabled) {
* console.log(isEnabled);
* });
*
* @example
* balena.models.application.willTrackNewReleases(123).then(function(isEnabled) {
* console.log(isEnabled);
* });
*/
willTrackNewReleases: (slugOrUuidOrId: string | number) => Promise<boolean>;
/**
* @summary Get whether the application is up to date and is tracking the latest finalized release for updates
* @name isTrackingLatestRelease
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @fulfil {Boolean} - is tracking the latest release
* @returns {Promise}
*
* @example
* balena.models.application.isTrackingLatestRelease('myorganization/myapp').then(function(isEnabled) {
* console.log(isEnabled);
* });
*
* @example
* balena.models.application.isTrackingLatestRelease(123).then(function(isEnabled) {
* console.log(isEnabled);
* });
*/
isTrackingLatestRelease: (slugOrUuidOrId: string | number) => Promise<boolean>;
/**
* @summary Set a specific application to run a particular release
* @name pinToRelease
* @public
* @function
* @memberof balena.models.application
*
* @description Configures the application to run a particular release
* and not get updated when the latest release changes.
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {String} fullReleaseHash - the hash of a successful release (string)
* @returns {Promise}
*
* @example
* balena.models.application.pinToRelease('myorganization/myapp', 'f7caf4ff80114deeaefb7ab4447ad9c661c50847').then(function() {
* ...
* });
*
* @example
* balena.models.application.pinToRelease(123, 'f7caf4ff80114deeaefb7ab4447ad9c661c50847').then(function() {
* ...
* });
*/
pinToRelease: (slugOrUuidOrId: string | number, fullReleaseHash: string) => Promise<void>;
/**
* @summary Get the hash of the current release for a specific application
* @name getTargetReleaseHash
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @fulfil {String|undefined} - The release hash of the current release
* @returns {Promise}
*
* @example
* balena.models.application.getTargetReleaseHash('myorganization/myapp').then(function(release) {
* console.log(release);
* });
*
* @example
* balena.models.application.getTargetReleaseHash(123).then(function(release) {
* console.log(release);
* });
*
* @example
* balena.models.application.getTargetReleaseHash('myorganization/myapp', function(release) {
* console.log(release);
* });
*/
getTargetReleaseHash: (slugOrUuidOrId: string | number) => Promise<string | undefined>;
/**
* @summary Configure a specific application to track the latest finalized available release
* @name trackLatestRelease
* @public
* @function
* @memberof balena.models.application
*
* @description The application's current release will be updated with each new successfully built release.
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @returns {Promise}
*
* @example
* balena.models.application.trackLatestRelease('myorganization/myapp').then(function() {
* ...
* });
*
* @example
* balena.models.application.trackLatestRelease(123).then(function() {
* ...
* });
*/
trackLatestRelease: (slugOrUuidOrId: string | number) => Promise<void>;
/**
* @summary Enable device urls for all devices that belong to an application
* @name enableDeviceUrls
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @returns {Promise}
*
* @example
* balena.models.application.enableDeviceUrls('myorganization/myapp');
*
* @example
* balena.models.application.enableDeviceUrls(123);
*/
enableDeviceUrls: (slugOrUuidOrId: string | number) => Promise<void>;
/**
* @summary Disable device urls for all devices that belong to an application
* @name disableDeviceUrls
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @returns {Promise}
*
* @example
* balena.models.application.disableDeviceUrls('myorganization/myapp');
*
* @example
* balena.models.application.disableDeviceUrls(123);
*/
disableDeviceUrls: (slugOrUuidOrId: string | number) => Promise<void>;
/**
* @summary Grant support access to an application until a specified time
* @name grantSupportAccess
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {Number} expiryTimestamp - a timestamp in ms for when the support access will expire
* @returns {Promise}
*
* @example
* balena.models.application.grantSupportAccess('myorganization/myapp', Date.now() + 3600 * 1000);
*
* @example
* balena.models.application.grantSupportAccess(123, Date.now() + 3600 * 1000);
*/
grantSupportAccess(slugOrUuidOrId: string | number, expiryTimestamp: number): Promise<void>;
/**
* @summary Revoke support access to an application
* @name revokeSupportAccess
* @public
* @function
* @memberof balena.models.application
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @returns {Promise}
*
* @example
* balena.models.application.revokeSupportAccess('myorganization/myapp');
*
* @example
* balena.models.application.revokeSupportAccess(123);
*/
revokeSupportAccess: (slugOrUuidOrId: string | number) => Promise<void>;
/**
* @namespace balena.models.application.tags
* @memberof balena.models.application
*/
tags: {
/**
* @summary Get all application tags for an application
* @name getAllByApplication
* @public
* @function
* @memberof balena.models.application.tags
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {Object} [options={}] - extra pine options to use
* @fulfil {Object[]} - application tags
* @returns {Promise}
*
* @example
* balena.models.application.tags.getAllByApplication('myorganization/myapp').then(function(tags) {
* console.log(tags);
* });
*
* @example
* balena.models.application.tags.getAllByApplication(999999).then(function(tags) {
* console.log(tags);
* });
*/
getAllByApplication: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: PineOptions<ApplicationTag> | undefined) => Promise<ApplicationTag[]>;
/**
* @summary Set an application tag
* @name set
* @public
* @function
* @memberof balena.models.application.tags
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {String} tagKey - tag key
* @param {String|undefined} value - tag value
*
* @returns {Promise}
*
* @example
* balena.models.application.tags.set('myorganization/myapp', 'EDITOR', 'vim');
*
* @example
* balena.models.application.tags.set(123, 'EDITOR', 'vim');
*/
set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
/**
* @summary Remove an application tag
* @name remove
* @public
* @function
* @memberof balena.models.application.tags
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {String} tagKey - tag key
* @returns {Promise}
*
* @example
* balena.models.application.tags.remove('myorganization/myapp', 'EDITOR');
*/
remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
};
/**
* @namespace balena.models.application.configVar
* @memberof balena.models.application
*/
configVar: {
/**
* @summary Get all config variables for an application
* @name getAllByApplication
* @public
* @function
* @memberof balena.models.application.configVar
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {Object} [options={}] - extra pine options to use
* @fulfil {Object[]} - application config variables
* @returns {Promise}
*
* @example
* balena.models.application.configVar.getAllByApplication('myorganization/myapp').then(function(vars) {
* console.log(vars);
* });
*
* @example
* balena.models.application.configVar.getAllByApplication(999999).then(function(vars) {
* console.log(vars);
* });
*/
getAllByApplication: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: PineOptions<ApplicationVariable> | undefined) => Promise<ApplicationVariable[]>;
/**
* @summary Get the value of a specific config variable
* @name get
* @public
* @function
* @memberof balena.models.application.configVar
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {String} key - config variable name
* @fulfil {String|undefined} - the config variable value (or undefined)
* @returns {Promise}
*
* @example
* balena.models.application.configVar.get('myorganization/myapp', 'BALENA_VAR').then(function(value) {
* console.log(value);
* });
*
* @example
* balena.models.application.configVar.get(999999, 'BALENA_VAR').then(function(value) {
* console.log(value);
* });
*/
get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
/**
* @summary Set the value of a specific config variable
* @name set
* @public
* @function
* @memberof balena.models.application.configVar
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {String} key - config variable name
* @param {String} value - config variable value
* @returns {Promise}
*
* @example
* balena.models.application.configVar.set('myorganization/myapp', 'BALENA_VAR', 'newvalue').then(function() {
* ...
* });
*
* @example
* balena.models.application.configVar.set(999999, 'BALENA_VAR', 'newvalue').then(function() {
* ...
* });
*/
set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
/**
* @summary Clear the value of a specific config variable
* @name remove
* @public
* @function
* @memberof balena.models.application.configVar
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {String} key - config variable name
* @returns {Promise}
*
* @example
* balena.models.application.configVar.remove('myorganization/myapp', 'BALENA_VAR').then(function() {
* ...
* });
*
* @example
* balena.models.application.configVar.remove(999999, 'BALENA_VAR').then(function() {
* ...
* });
*/
remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
};
/**
* @namespace balena.models.application.envVar
* @memberof balena.models.application
*/
envVar: {
/**
* @summary Get all environment variables for an application
* @name getAllByApplication
* @public
* @function
* @memberof balena.models.application.envVar
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {Object} [options={}] - extra pine options to use
* @fulfil {Object[]} - application environment variables
* @returns {Promise}
*
* @example
* balena.models.application.envVar.getAllByApplication('myorganization/myapp').then(function(vars) {
* console.log(vars);
* });
*
* @example
* balena.models.application.envVar.getAllByApplication(999999).then(function(vars) {
* console.log(vars);
* });
*/
getAllByApplication: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: PineOptions<ApplicationVariable> | undefined) => Promise<ApplicationVariable[]>;
/**
* @summary Get the value of a specific environment variable
* @name get
* @public
* @function
* @memberof balena.models.application.envVar
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {String} key - environment variable name
* @fulfil {String|undefined} - the environment variable value (or undefined)
* @returns {Promise}
*
* @example
* balena.models.application.envVar.get('myorganization/myapp', 'VAR').then(function(value) {
* console.log(value);
* });
*
* @example
* balena.models.application.envVar.get(999999, 'VAR').then(function(value) {
* console.log(value);
* });
*/
get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
/**
* @summary Set the value of a specific environment variable
* @name set
* @public
* @function
* @memberof balena.models.application.envVar
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {String} key - environment variable name
* @param {String} value - environment variable value
* @returns {Promise}
*
* @example
* balena.models.application.envVar.set('myorganization/myapp', 'VAR', 'newvalue').then(function() {
* ...
* });
*
* @example
* balena.models.application.envVar.set(999999, 'VAR', 'newvalue').then(function() {
* ...
* });
*/
set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
/**
* @summary Clear the value of a specific environment variable
* @name remove
* @public
* @function
* @memberof balena.models.application.envVar
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {String} key - environment variable name
* @returns {Promise}
*
* @example
* balena.models.application.envVar.remove('myorganization/myapp', 'VAR').then(function() {
* ...
* });
*
* @example
* balena.models.application.envVar.remove(999999, 'VAR').then(function() {
* ...
* });
*/
remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
};
/**
* @namespace balena.models.application.buildVar
* @memberof balena.models.application
*/
buildVar: {
/**
* @summary Get all build environment variables for an application
* @name getAllByApplication
* @public
* @function
* @memberof balena.models.application.buildVar
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {Object} [options={}] - extra pine options to use
* @fulfil {Object[]} - application build environment variables
* @returns {Promise}
*
* @example
* balena.models.application.buildVar.getAllByApplication('myorganization/myapp').then(function(vars) {
* console.log(vars);
* });
*
* @example
* balena.models.application.buildVar.getAllByApplication(999999).then(function(vars) {
* console.log(vars);
* });
*/
getAllByApplication: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: PineOptions<BuildVariable> | undefined) => Promise<BuildVariable[]>;
/**
* @summary Get the value of a specific build environment variable
* @name get
* @public
* @function
* @memberof balena.models.application.buildVar
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {String} key - build environment variable name
* @fulfil {String|undefined} - the build environment variable value (or undefined)
* @returns {Promise}
*
* @example
* balena.models.application.buildVar.get('myorganization/myapp', 'VAR').then(function(value) {
* console.log(value);
* });
*
* @example
* balena.models.application.buildVar.get(999999, 'VAR').then(function(value) {
* console.log(value);
* });
*/
get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
/**
* @summary Set the value of a specific build environment variable
* @name set
* @public
* @function
* @memberof balena.models.application.buildVar
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {String} key - build environment variable name
* @param {String} value - build environment variable value
* @returns {Promise}
*
* @example
* balena.models.application.buildVar.set('myorganization/myapp', 'VAR', 'newvalue').then(function() {
* ...
* });
*
* @example
* balena.models.application.buildVar.set(999999, 'VAR', 'newvalue').then(function() {
* ...
* });
*/
set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
/**
* @summary Clear the value of a specific build environment variable
* @name remove
* @public
* @function
* @memberof balena.models.application.buildVar
*
* @param {String|Number} slugOrUuidOrId - application slug (string), uuid (string) or id (number)
* @param {String} key - build environment variable name
* @returns {Promise}
*
* @example
* balena.models.application.buildVar.remove('myorganization/myapp', 'VAR').then(function() {
* ...
* });
*
* @example
* balena.models.application.buildVar.remove(999999, 'VAR').then(function() {
* ...
* });
*/
remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
};
/**
* @namespace balena.models.application.membership
* @memberof balena.models.application
*/
membership: {
get(membershipId: number | SubmitBody<Pick<import("..").ApplicationMembership, "user" | "is_member_of__application">>, options?: PineOptions<import("..").ApplicationMembership>): Promise<import("..").ApplicationMembership>;
getAllByApplication(slugOrUuidOrId: number | string, options?: PineOptions<import("..").ApplicationMembership>): Promise<import("..").ApplicationMembership[]>;
getAllByUser(usernameOrId: number | string, options?: PineOptions<import("..").ApplicationMembership>): Promise<import("..").ApplicationMembership[]>;
create({ application, username, roleName, }: import("./application-membership").ApplicationMembershipCreationOptions): Promise<PinePostResult<import("..").ApplicationMembership>>;
changeRole(idOrUniqueKey: number | SubmitBody<Pick<import("..").ApplicationMembership, "user" | "is_member_of__application">>, roleName: string): Promise<void>;
remove(idOrUniqueKey: number | SubmitBody<Pick<import("..").ApplicationMembership, "user" | "is_member_of__application">>): Promise<void>;
};
/**
* @namespace balena.models.application.invite
* @memberof balena.models.application
*/
invite: {
getAll(options?: PineOptions<import("..").ApplicationInvite>): Promise<import("..").ApplicationInvite[]>;
getAllByApplication(slugOrUuidOrId: number | string, options?: PineOptions<import("..").ApplicationInvite>): Promise<import("..").ApplicationInvite[]>;
create(slugOrUuidOrId: string | number, { invitee, roleName, message }: import("./application-invite").ApplicationInviteOptions): Promise<PinePostResult<import("..").ApplicationInvite>>;
revoke(id: number): Promise<void>;
accept(invitationToken: string): Promise<void>;
};
};
export { getApplicationModel as default };