/** * Agilicus API * Agilicus is API-first. Modern software is controlled by other software, is open, is available for you to use the way you want, securely, simply. The OpenAPI Specification in YAML format is available on [www](https://www.agilicus.com/www/api/agilicus-openapi.yaml) for importing to other tools. A rendered, online viewable and usable version of this specification is available at [api](https://www.agilicus.com/api). You may try the API inline directly in the web page. To do so, first obtain an Authentication Token (the simplest way is to install the Python SDK, and then run `agilicus-cli --issuer https://MYISSUER get-token`). You will need an org-id for most calls (and can obtain from `agilicus-cli --issuer https://MYISSUER list-orgs`). The `MYISSUER` will typically be `auth.MYDOMAIN`, and you will see it as you sign-in to the administrative UI. This API releases on Bearer-Token authentication. To obtain a valid bearer token you will need to Authenticate to an Issuer with OpenID Connect (a superset of OAUTH2). Your \"issuer\" will look like https://auth.MYDOMAIN. For example, when you signed-up, if you said \"use my own domain name\" and assigned a CNAME of cloud.example.com, then your issuer would be https://auth.cloud.example.com. If you selected \"use an Agilicus supplied domain name\", your issuer would look like https://auth.myorg.agilicus.cloud. For test purposes you can use our [Python SDK](https://pypi.org/project/agilicus/) and run `agilicus-cli --issuer https://auth.MYDOMAIN get-token`. This API may be used in any language runtime that supports OpenAPI 3.0, or, you may use our [Python SDK](https://pypi.org/project/agilicus/), our [Typescript SDK](https://www.npmjs.com/package/@agilicus/angular), or our [Golang SDK](https://git.agilicus.com/pub/sdk-go). 100% of the activities in our system our API-driven, from our web-admin, through our progressive web applications, to all internals: there is nothing that is not accessible. For more information, see [developer resources](https://www.agilicus.com/developer). * * The version of the OpenAPI document: 2025.12.16 * Contact: dev@agilicus.com * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { Role } from './role'; import { RolesConfig } from './rolesConfig'; import { RulesConfig } from './rulesConfig'; import { ApplicationStateSelector } from './applicationStateSelector'; import { DisplayInfo } from './displayInfo'; import { ApplicationAssignment } from './applicationAssignment'; import { Definition } from './definition'; import { Environment } from './environment'; import { ApplicationMonitoringConfig } from './applicationMonitoringConfig'; import { AlternateModeSetting } from './alternateModeSetting'; import { WorkloadConfiguration } from './workloadConfiguration'; export interface _Application { /** * Creation time */ readonly created?: Date; /** * application service id */ readonly id?: string; /** * For inheritance, defines the parent id. */ readonly parent_id?: string; /** * application name */ name: string; /** * Application description text */ description?: string; /** * application category */ category: string; /** * image registry path and name */ image?: string; /** * registry username */ image_username?: string; /** * registry password */ image_password?: string; /** * type of credentials for image */ image_credentials_type?: Application.ImageCredentialsTypeEnum; /** * List of environments */ environments?: Array; /** * organisation id */ org_id: string; /** * Administrator contact email */ contact_email?: string; monitoring_config?: ApplicationMonitoringConfig; /** * The transport layer port the application listens on for requests. E.g. if the application listens for HTTP requests on the standard port, port 80, set this to 80. */ port?: number; /** * health check URI */ healthcheck_uri?: string; /** * List of Roles */ roles?: Array; roles_config?: RolesConfig; rules_config?: RulesConfig; /** * List of definitions */ definitions?: Array; /** * Controls the Organisations which have access to Environments of this Application. */ assignments?: Array; /** * Whether this Application is owned by the provided organisation. */ owned?: boolean; /** * Whether this Application has an Environment maintained by the provided organisation. */ maintained?: boolean; /** * Whether an Environment is assigned to this Application. */ assigned?: boolean; /** * Whether or not this Application is published, and if so, how. An application that has been published somewhere will have high level details about it visible (through apis intended to expose published applications), such as its name and description. The enum values mean the following: - no: This application is not published. It will only be visibile to users with permission to access the application, or to administrators. - public: This application is published to the public catalogue. Any user who can request access to the organisation will see high level details about this application. */ published?: Application.PublishedEnum; /** * The id of the default role to use for this application. This role will be assigned to users granted access to this application by default, unless overridden. This value must point to a valid Role for this application. A string of length 0 will clear out the default role. */ default_role_id?: string | null; /** * The name of the default role. Does not change which role is used. Provided for convenience. */ readonly default_role_name?: string | null; /** * A url pointing to an icon representing this application. */ icon_url?: string; display_info?: DisplayInfo; /** * Update time */ readonly updated?: Date; /** * Where the application runs. Applications can run within an Agilicus hosting platform, or elsewhere on the internet. The possible values have the following meanings: - `hosted`: the application runs on the Agilicus hosting platform. - `external`: the application runs elsewhere on the internet. External applications will not create instances in the Agilicus hosting platform. However, they will be able to use Agilicus for Identity and Authentication. */ location?: Application.LocationEnum; /** * Service account user GUID used to deploy the application */ readonly service_account_id?: string; /** * If service_account_enabled field is set to true, a service account will be created. If service_account_enabled field is set to false, the service account will be deleted. If the service_account_enabled field is not set no action on the service account is taken. */ service_account_required?: boolean; /** * The type of application meanings: - `user_defined`: A user defined application. - `internal`: An internal application used by agilicus services. */ application_type?: Application.ApplicationTypeEnum; /** * A human readable slug to identify a resource and that is rfc1035 label compliant. The length has been restricted to 20 characters such that this name can be concatenated with other names or slugs. A slug is readOnly as it is generated by the backend resource. */ name_slug?: string; workload_config?: WorkloadConfiguration; admin_state?: ApplicationStateSelector; alternate_mode_setting?: AlternateModeSetting; /** * A list of launchers that can be used to launch this application. */ launchers?: Array; /** * If an application inherits from a parent application (when parent_id exists), this property provides the name of the parent. */ readonly parent_name?: string; } export interface Application extends _Application { _builtin_original?: _Application; _remove_builtin_extensions?: () => void; } export declare class ApplicationImpl implements _Application { _builtin_original?: _Application; readonly created: Date | undefined; readonly id: string | undefined; readonly parent_id: string | undefined; name: string; description: string | undefined; category: string; image: string | undefined; image_username: string | undefined; image_password: string | undefined; image_credentials_type: Application.ImageCredentialsTypeEnum | undefined; environments: Array | undefined; org_id: string; contact_email: string | undefined; monitoring_config: ApplicationMonitoringConfig | undefined; port: number | undefined; healthcheck_uri: string | undefined; roles: Array | undefined; roles_config: RolesConfig | undefined; rules_config: RulesConfig | undefined; definitions: Array | undefined; assignments: Array | undefined; owned: boolean | undefined; maintained: boolean | undefined; assigned: boolean | undefined; published: Application.PublishedEnum | undefined; default_role_id: string | null | undefined; readonly default_role_name: string | null | undefined; icon_url: string | undefined; display_info: DisplayInfo | undefined; readonly updated: Date | undefined; location: Application.LocationEnum | undefined; readonly service_account_id: string | undefined; service_account_required: boolean | undefined; application_type: Application.ApplicationTypeEnum | undefined; name_slug: string | undefined; workload_config: WorkloadConfiguration | undefined; admin_state: ApplicationStateSelector | undefined; alternate_mode_setting: AlternateModeSetting | undefined; launchers: Array | undefined; readonly parent_name: string | undefined; constructor(base: _Application); _remove_builtin_extensions(): void; } export declare namespace Application { type ImageCredentialsTypeEnum = 'basic_auth' | 'token'; const ImageCredentialsTypeEnum: { basic_auth: ImageCredentialsTypeEnum; token: ImageCredentialsTypeEnum; }; type PublishedEnum = 'no' | 'public'; const PublishedEnum: { no: PublishedEnum; public: PublishedEnum; }; type LocationEnum = 'hosted' | 'external'; const LocationEnum: { hosted: LocationEnum; external: LocationEnum; }; type ApplicationTypeEnum = 'user_defined' | 'internal'; const ApplicationTypeEnum: { user_defined: ApplicationTypeEnum; internal: ApplicationTypeEnum; }; } export declare function newApplicationImpl(base: _Application): ApplicationImpl;