/** * 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 { EnvironmentStatus } from './environmentStatus'; import { ApplicationConfig } from './applicationConfig'; import { ApplicationService } from './applicationService'; export interface _Environment { /** * Creation time */ readonly created?: Date; /** * Environment name */ name: string; /** * The Organisation which is responsibile for maintaining this Environment. Often this will be the same Organisation as the owning Application. However, sometimes it makes sense to delegate this responsibility to another Organisation. To do so, set this field to that Organisation\'s identifier. Users with sufficient permissions in that organisation will be able to modify this Environment. If the maintenance_org_id is not provided, it will populated with that of the parent application\'s organisation. */ maintenance_org_id?: string; /** * A list of alternative domains for an instance. This can be used if you want to use a different FQDN for your application instead of the default `appname.org_subdomain`. Multiple different names can be useful if an application is multi-tenant, that is it can be accessed by multiple organisations and you don\'t want your users to see it any different to existing web applications. A certificate will be generated for all valid domains. All aliases entered must have a cname assignment pointing to the FQDN of the cluster hosting your application. */ domain_aliases?: Array; /** * The version of the container to run. Required if the owning application is hosted. */ version_tag?: string; /** * config_as_mount file path */ config_mount_path?: string; /** * A json object of config applied as file mounted */ config_as_mount?: string; /** * A json object of config applied as environment */ config_as_env?: string; /** * secret_as_mount file path */ secrets_mount_path?: string; /** * A json object of secrets applied as file mounted */ secrets_as_mount?: string; /** * A json object of secrets applied as environment */ secrets_as_env?: string; /** * The services used by the application for this environment. Note that in order to add a service to the environment, this environment must be added to the list of assignments for that service in the ApplicationService collection for the organisation. */ readonly application_services?: Array; /** * serverless image path */ serverless_image?: string; status?: EnvironmentStatus; /** * Update time */ readonly updated?: Date; application_configs?: ApplicationConfig; /** * A list of scopes to be requested on behalf of the user of the application and as well as configured based on the application launchers that launch this application/environment. This field is only populated on a GET request when the query parameter get_scopes=True is passed. */ readonly scopes?: Array; /** * 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; /** * Environments are in transition to be deprecated. When an environment is migrated, an application is created specific for the environment. This property provides the id of the application that this environment has been migrated to. */ migrated_app_id?: string; /** * If this application is a simple Web Application Firewall proxy, this field controls where the proxy runs. The possible values have the following meanings: - `in_cloud`. An application which is `in_cloud` runs the proxy in the Agilicus cloud. This means that the application\'s data will be decrypted in the Agilicus cloud so that the proxy may perform authentication, authorization, sanitisiation and modification tasks prior to forwarding the request to the destination service. - `on_site`: An application which is `on_site` runs the proxy as part of an AgentConnector located on a machine run by you. The application\'s data is not decrypted until it reaches that machine. Any secrets required to do this (such as private keys for TLS Certificates) stay on that machine; they are never transmitted to Agilicus. The proxy running on site will decrypt the data, and perform authentication, authorisation and modification tasks prior to forwarding the request to the destination service. */ proxy_location?: Environment.ProxyLocationEnum; } export interface Environment extends _Environment { _builtin_original?: _Environment; _remove_builtin_extensions?: () => void; } export declare class EnvironmentImpl implements _Environment { _builtin_original?: _Environment; readonly created: Date | undefined; name: string; maintenance_org_id: string | undefined; domain_aliases: Array | undefined; version_tag: string | undefined; config_mount_path: string | undefined; config_as_mount: string | undefined; config_as_env: string | undefined; secrets_mount_path: string | undefined; secrets_as_mount: string | undefined; secrets_as_env: string | undefined; readonly application_services: Array | undefined; serverless_image: string | undefined; status: EnvironmentStatus | undefined; readonly updated: Date | undefined; application_configs: ApplicationConfig | undefined; readonly scopes: Array | undefined; name_slug: string | undefined; migrated_app_id: string | undefined; proxy_location: Environment.ProxyLocationEnum | undefined; constructor(base: _Environment); _remove_builtin_extensions(): void; } export declare namespace Environment { type ProxyLocationEnum = 'in_cloud' | 'on_site'; const ProxyLocationEnum: { in_cloud: ProxyLocationEnum; on_site: ProxyLocationEnum; }; } export declare function newEnvironmentImpl(base: _Environment): EnvironmentImpl;