_ |
Default value : (str) => str
|
__MODE__ |
Type : string
|
HOOK_ONCE_ROUTE |
: Use HOOK_ROUTE |
Default value : new InjectionToken('RouteFactory')
|
A hook to use for Multi Provider extension. |
HOOK_ROUTE |
Default value : new InjectionToken<RouteFactory>('HookRoute')
|
A hook to use for Multi Provider extension. |
absoluteDateService |
Default value : downgradeInjectable(AbsoluteDateService)
|
alertsService |
Default value : downgradeInjectable(AlertService)
|
apiService |
Default value : downgradeInjectable(ApiService)
|
appStateService |
Default value : downgradeInjectable(AppStateService)
|
authBridgeService |
Default value : downgradeInjectable(AuthBridgeService)
|
bridgeService |
Default value : downgradeInjectable(BridgeService)
|
cachedLocaleDictionaryService |
Default value : downgradeInjectable(CachedLocaleDictionaryService)
|
docsService |
Default value : downgradeInjectable(DocsService)
|
filesService |
Default value : downgradeInjectable(FilesService)
|
gainsightService |
Default value : downgradeInjectable(GainsightService)
|
headerService |
Default value : downgradeInjectable(HeaderService)
|
modalService |
Default value : downgradeInjectable(ModalService)
|
passwordService |
Default value : downgradeInjectable(PasswordService)
|
serverMessagesService |
Default value : downgradeInjectable(ServerMessagesService)
|
translateService |
Default value : downgradeInjectable(TranslateService)
|
userMenuService |
Default value : downgradeInjectable(UserMenuService)
|
absoluteDateServiceProvider |
Type : object
|
Default value : {
provide: AbsoluteDateService,
useFactory: absoluteDateServiceFactory,
deps: [DatePipe]
}
|
allIconCategory |
Type : IconCategory
|
Default value : { name: 'all', displayName: 'All' }
|
angularJsModule |
Default value : angular
.module(NAME, [])
.directive('c8yExportSchedules', exportSchedulesComponent)
.service('c8yReportsService', reportsService)
|
NAME |
Type : string
|
Default value : 'c8y.upgrade.reports'
|
ng1Modules |
Type : []
|
Default value : [NAME]
|
angularJsModule |
Default value : angular
.module(NAME, [])
.directive('c8yOpcuaAddressSpaceTree', opcuaAddressSpaceTreeComponent)
|
NAME |
Type : string
|
Default value : 'c8y.upgrade.opcua'
|
ng1Modules |
Type : []
|
Default value : [NAME]
|
angularLocalesLanguageMap |
Type : object
|
Default value : { en: 'en-GB', 'en-EN': 'en-GB' }
|
APP_STATE |
Type : object
|
Default value : {
SUBSCRIBED: {
label: gettext('Subscribed`application`'),
class: 'label-primary'
},
CUSTOM: {
label: gettext('Custom`application`'),
class: 'label-info'
},
EXTERNAL: {
label: gettext('External`application`'),
class: 'label-warning'
},
UNPACKED: {
label: gettext('Unpacked`application`'),
class: 'label-success'
},
PACKAGE_BLUEPRINT: {
label: gettext('Blueprint'),
class: 'label-success'
},
PACKAGE_PLUGIN: {
label: gettext('Plugins'),
class: 'label-info'
}
}
|
ERROR_MESSAGES |
Type : object
|
Default value : {
[ERROR_TYPE.TYPE_VALIDATION]: gettext(
'Wrong file format. Expected a *.zip file with a valid manifest.'
),
[ERROR_TYPE.ALREADY_SUBSCRIBED]: gettext(
'Could not subscribe to the microservice because another application with the same context path is already subscribed.'
),
[ERROR_TYPE.NO_MANIFEST_FILE]: gettext('Could not find a manifest.'),
[ERROR_TYPE.INVALID_PACKAGE]: gettext('You have not uploaded a valid package.'),
[ERROR_TYPE.INVALID_APPLICATION]: gettext('You have not uploaded a valid application.'),
[ERROR_TYPE.INTERNAL_ERROR]: gettext('An internal error occurred, try to upload again.')
}
|
applicationDetailsRoutes |
Type : Route[]
|
Default value : [
{
path: 'properties',
component: ApplicationPropertiesComponent,
icon: 'list',
label: gettext('Properties'),
context: ViewContext.Application,
priority: 5,
canActivate: [ApplicationPropertiesGuard]
},
{
path: 'plugins',
component: ApplicationPluginsComponent,
icon: 'plugin',
label: gettext('Plugins'),
context: ViewContext.Application,
priority: 3,
canActivate: [ApplicationPluginsGuard, EcosystemGuard]
},
{
path: 'package-details',
component: PackageDetailsComponent,
icon: 'big-parcel',
label: gettext('Info'),
context: ViewContext.Application,
priority: 10,
canActivate: [PackageGuard, EcosystemGuard]
},
{
path: 'package-archives',
component: PackageArchivesComponent,
icon: 'c8y-archive',
label: gettext('Archives'),
context: ViewContext.Application,
priority: 5,
canActivate: [PackageGuard, EcosystemGuard]
},
{
path: 'properties',
component: ApplicationPropertiesComponent,
icon: 'list',
label: gettext('Properties'),
context: ViewContext.Microservice,
priority: 5,
canActivate: [ApplicationPropertiesGuard]
}
]
|
ecosystemMainRoutes |
Type : Route[]
|
Default value : [
{
path: 'ecosystem/applications',
component: ApplicationListComponent
},
{
path: 'ecosystem/package-list',
component: PackagesListComponent,
canActivate: [EcosystemGuard]
},
{
path: 'ecosystem/features',
component: FeatureListComponent
},
{
path: 'ecosystem',
redirectTo: 'ecosystem/applications'
},
{
path: 'microservices',
component: MicroserviceListComponent
}
]
|
APPLICATIONS_BASE_PATH |
Type : string
|
Default value : '/ecosystem'
|
MICROSERVICES_BASE_PATH |
Type : string
|
Default value : '/microservices'
|
appLogsAutoRefreshComponent |
Default value : downgradeComponent({
component: AppLogsAutoRefreshComponent
})
|
bootstrapComponent |
Default value : downgradeComponent({ component: BootstrapComponent })
|
dataGridComponent |
Default value : downgradeComponent({ component: DataGridComponent })
|
datapointSelectionListComponent |
Default value : downgradeComponent({
component: DatapointSelectionListComponent
})
|
emptyStateComponent |
Default value : downgradeComponent({ component: EmptyStateComponent })
|
helpComponent |
Default value : downgradeComponent({ component: HelpComponent })
|
highlightComponent |
Default value : downgradeComponent({
component: HighlightComponent,
inputs: ['pattern', 'text']
})
|
loadingComponent |
Default value : downgradeComponent({ component: LoadingComponent })
|
rangeDisplayComponent |
Default value : downgradeComponent({ component: RangeDisplayComponent })
|
userTotpComponent |
Default value : downgradeComponent({ component: UserTotpRevokeComponent })
|
ASSET_NAVIGATOR_CONFIG |
Default value : new InjectionToken<AssetNavigatorConfig>('AssetNodeConfig')
|
authBridgeServiceProvider |
Type : object
|
Default value : {
provide: AuthBridgeService,
useFactory: authBridgeServiceFactory,
deps: ['$injector', BasicAuth, FetchClient, AppStateService, TenantUiService]
}
|
AXIS_TYPES |
Default value : [
{ val: undefined, text: gettext('Auto') },
{ val: 'left', text: gettext('Left') },
{ val: 'right', text: gettext('Right') }
] as const
|
CHART_RENDER_TYPES |
Default value : [
{ val: 'min', text: gettext('Minimum') },
{ val: 'max', text: gettext('Maximum') },
{ val: 'area', text: gettext('Minimum and maximum') }
] as const
|
baseUrl |
Type : string
|
Default value : 'devicecontrol/bulk/creation/'
|
HOOK_LIST_BULK_TYPE |
Default value : new InjectionToken<OperationType | OperationType[]>(
'LIST_BULK_TYPE'
)
|
bridgeServiceProvider |
Type : object
|
Default value : {
provide: BridgeService,
useFactory: bridgeServiceFactory,
deps: ['$injector', AppStateService, Router, NgZone, RouterService, ActionService]
}
|
BULK_OPERATION_STATUS_LABELS |
Type : object
|
Default value : {
SCHEDULED: gettext('Scheduled'),
EXECUTING: gettext('Executing'),
CANCELED: gettext('Canceled'),
FAILED: gettext('Completed with failures'),
SUCCESSFUL: gettext('Completed successfully'),
DELETED: gettext('Deleted')
}
|
BULK_OPERATION_STATUS_OPTIONS |
Type : OperationStatusOptionsMap
|
Default value : {
SCHEDULED: {
label: BULK_OPERATION_STATUS_LABELS.SCHEDULED,
generalStatuses: [OperationBulkGeneralStatus.SCHEDULED],
icon: 'calendar',
styleClass: 'text-info'
},
EXECUTING: {
label: BULK_OPERATION_STATUS_LABELS.EXECUTING,
generalStatuses: [
OperationBulkGeneralStatus.EXECUTING,
OperationBulkGeneralStatus.EXECUTING_WITH_ERROR
],
icon: 'refresh',
styleClass: 'text-primary'
},
DELETED: {
label: BULK_OPERATION_STATUS_LABELS.DELETED,
generalStatuses: [OperationBulkGeneralStatus.DELETED],
icon: 'delete-document',
styleClass: 'text-muted'
},
CANCELED: {
label: BULK_OPERATION_STATUS_LABELS.CANCELED,
generalStatuses: [OperationBulkGeneralStatus.CANCELED],
icon: 'ban',
styleClass: 'text-primary'
},
FAILED: {
label: BULK_OPERATION_STATUS_LABELS.FAILED,
generalStatuses: [OperationBulkGeneralStatus.FAILED],
icon: 'exclamation-triangle',
styleClass: 'text-danger'
},
SUCCESSFUL: {
label: BULK_OPERATION_STATUS_LABELS.SUCCESSFUL,
generalStatuses: [OperationBulkGeneralStatus.SUCCESSFUL],
icon: 'check-circle',
styleClass: 'text-success'
}
}
|
bulkOperationAuditLogTextPlaceholders |
Type : object
|
Default value : {
updatesList: {
capture: '$1',
translate: {
"status='(.+?)'": {
gettext: gettext('status: "{{ status | translate }}"'),
placeholders: {
status: '$1'
}
},
"generalStatus='(.+?)'": {
gettext: gettext('general status: "{{ generalStatus | translate }}"'),
placeholders: {
generalStatus: '$1'
}
},
"progress='(.+?)'": {
gettext: gettext('progress: "{{ progress }}"'),
placeholders: {
progress: '$1'
}
},
'note=(.+?)': {
gettext: gettext('note: "{{ note }}"'),
placeholders: {
note: '$1'
}
}
}
}
}
|
MESSAGES |
Type : object
|
Default value : {
'^Access is denied$': {
gettext: gettext('Access denied.')
},
'^Alarm created$': {
gettext: gettext('Alarm created')
},
'^Alarm updated$': {
gettext: gettext('Alarm updated')
},
'^API is not available with the new domain$': {
gettext: gettext('Could not activate custom domain. DNS setup is incorrect.')
},
'^Application with given name already exist$': {
gettext: gettext('Application with given name already exists.')
},
'^Application with id (.+?) is already assigned to the tenant (.+?)$': {
gettext: gettext('This application is already assigned to tenant "{{tenant}}".'),
placeholders: {
tenant: '$2'
}
},
'^Apply software changes: (.+?)\\.?$': {
gettext: gettext('Apply software changes: {{ softwareChanges }}'),
placeholders: {
softwareChanges: {
capture: '$1',
translate: {
'install "(.+?)" \\(version: (.+?)\\)': {
gettext: gettext('install "{{ softwareName }}" (version: {{ softwareVersion }})'),
placeholders: {
softwareName: '$1',
softwareVersion: '$2'
}
},
'install "([^"]+)"(?! \\(version: .+?\\))': {
gettext: gettext('install "{{ softwareName }}"'),
placeholders: {
softwareName: '$1'
}
},
'delete "(.+?)" \\(version: (.+?)\\)': {
gettext: gettext('delete "{{ softwareName }}" (version: {{ softwareVersion }})'),
placeholders: {
softwareName: '$1',
softwareVersion: '$2'
}
},
'delete "([^"]+)"(?! \\(version: .+?\\))': {
gettext: gettext('delete "{{ softwareName }}"'),
placeholders: {
softwareName: '$1'
}
}
}
}
}
},
'^Assign device profile (.+?) to device (.+?)$': {
gettext: gettext('Assign device profile {{profileName}} to device {{deviceName}}'),
placeholders: {
profileName: '$1',
deviceName: '$2'
}
},
'^(.+)pplication for tenant (.+) with properties \\( (.+?) \\) already exists$': {
gettext: gettext(
'Application for tenant "{{tenant}}" with the following values ({{valuesList}}) already exists.'
),
placeholders: {
tenant: '$2',
valuesList: '$3'
}
},
'^Authentication failed! : User account is locked$': {
gettext: gettext('Authentication failed due to: user account is locked.')
},
'^Availability monitoring record$': {
gettext: gettext('Availability monitoring record')
},
'^Can not activate a certificate which is either expired or not yet valid$': {
gettext: gettext('Cannot activate a certificate which is either expired or not yet valid.')
},
'^Cannot add certificate - certificate with (.+?) fingerprint already exists. : Certificate with (.+?) fingerprint already exists.':
{
gettext: gettext(
'Could not add certificate. Certificate with {{fingerprint}} fingerprint already exists.'
),
placeholders: {
fingerprint: '$1'
}
},
'^Cannot change password. : Provided token does not exist.$': {
gettext: gettext('Cannot change password: provided token is invalid.')
},
'^Cannot deploy module (.*)$': {
gettext: gettext('Cannot deploy module due to error: "{{ errorMessage | translate }}".'),
placeholders: {
errorMessage: '$1'
}
},
"^Cannot deploy module (.+?)! : Compilation failed in module '(.+?)' in expression '(.+?)' : Incorrect syntax near '(.+?)' at line (\\d+) column (\\d+) \\[([\\S\\s]+?)\\]$":
{
gettext: gettext(
'Could not deploy module "{{moduleName}}". Compilation failed in expression "{{expression}}": incorrect syntax near "{{incorrectExpression}}" at line {{line}} column {{column}}.'
),
placeholders: {
moduleName: '$1',
expression: '$3',
incorrectExpression: '$4',
line: '$5',
column: '$6'
}
},
"^Cannot deploy module (.+?)! : Compilation failed in module '(.+?)' in expression '(.+?)' : Incorrect syntax near '(.+?)' at line (\\d+) column (\\d+) near reserved keyword '(.+?)' \\[([\\S\\s]+?)\\]$":
{
gettext: gettext(
'Could not deploy module "{{moduleName}}". Compilation failed in expression "{{expression}}": incorrect syntax near "{{incorrectExpression}}" at line {{line}} column {{column}} near reserved keyword "{{keyword}}".'
),
placeholders: {
moduleName: '$1',
expression: '$3',
incorrectExpression: '$4',
line: '$5',
column: '$6',
keyword: '$7'
}
},
"^Cannot deploy module (.+?)! : Compilation failed in module '(.+?)' in expression '(.+?)' : Incorrect syntax near '(.+?)' at line (\\d+) column (\\d+), please check the where clause \\[([\\S\\s]+?)\\]$":
{
gettext: gettext(
'Could not deploy module "{{moduleName}}". Compilation failed in expression "{{expression}}": incorrect syntax near "{{incorrectExpression}}" at line {{line}} column {{column}}, check "where" clause.'
),
placeholders: {
moduleName: '$1',
expression: '$3',
incorrectExpression: '$4',
line: '$5',
column: '$6'
}
},
"^Cannot deploy module (.+?)! : Deployment failed in module '(.+?)' in expression '(.+?)' : Exception compiling script '(.+?)' of dialect '(.+?)': missing (.+?) before statement \\((.+?)\\) \\[([\\S\\s]+?)\\]$":
{
gettext: gettext(
'Could not deploy module "{{moduleName}}". Compilation failed in expression "{{expression}}": exception compiling script "{{scriptName}}" of dialect "{{scriptDialect}}": missing "{{missingSyntax}}" before statement "{{affectedStatement}}".'
),
placeholders: {
moduleName: '$1',
expression: '$3',
scriptName: '$4',
scriptDialect: '$5',
missingSyntax: '$6',
affectedStatement: '$7'
}
},
"^Cannot execute bulk operation on empty group. Group with id='(\\d+?)' doesn't have child assets.$":
{
gettext: gettext(
'Could not execute bulk operation on an empty group. Group with ID "{{groupId}}" has no child assets.'
),
placeholders: {
groupId: '$1'
}
},
"^Cannot execute bulk operation on empty group. DynamicGroup with id='(\\d+?)' doesn't have child assets$":
{
gettext: gettext(
'Could not execute bulk operation on an empty group. Smart group with ID "{{groupId}}" has no child assets.'
),
placeholders: {
groupId: '$1'
}
},
'^Cannot parse X509 certificate. : Could not parse certificate: (.+?)$': {
gettext: gettext('Could not parse X.509 certificate: {{ failureReason | translate }}.'),
placeholders: {
failureReason: '$1'
}
},
'^Cannot reschedule bulk operation. All its operations are successful$': {
gettext: gettext('Cannot reschedule bulk operation. All its operations are already successful.')
},
'^Cannot reset user password : Cannot find user with such email.$': {
gettext: gettext('Cannot reset password for user with such email: email not found.')
},
'^Cannot update/delete application binary via this endpoint$': {
gettext: gettext('Cannot update/delete application binary via this endpoint')
},
"^Can't delete user because it is used by another managed object$": {
gettext: gettext(
'Cannot delete device with associated device owner because this owner is still assigned to other device(s). Try to remove only the device.'
)
},
'^Cep module created$': {
gettext: gettext('CEP module created')
},
'^Cep module updated$': {
gettext: gettext('CEP module updated')
},
'^Cep module deleted$': {
gettext: gettext('CEP module deleted')
},
'^Cep module "(.+?)" created$': {
gettext: gettext('CEP module "{{name}}" created'),
placeholders: {
name: '$1'
}
},
'^Cep module "(.+?)" updated$': {
gettext: gettext('CEP module "{{name}}" updated'),
placeholders: {
name: '$1'
}
},
'^Cep module "(.+?)" deleted$': {
gettext: gettext('CEP module "{{name}}" deleted'),
placeholders: {
name: '$1'
}
},
'^Command state is invalid: (.+)$': {
gettext: gettext('Command state is invalid: {{violations}}'),
placeholders: {
violations: {
capture: '$1',
translate: {
'(\\w+?) - may not be null': {
gettext: gettext('"{{field}}" must not be null'),
placeholders: {
field: '$1'
}
}
}
}
}
},
'^Could not connect to endpoint (.+)\\. Could not verify `(.+)` host key with fingerprint `(.+)` for `(.+)` on port (.+)\\. If you expected that key, please remove the previous one from configuration to allow for connection\\.$':
{
gettext: gettext(
'Could not connect to endpoint "{{endpointName}}". Could not verify {{keyType}} host key with fingerprint {{fingerprint}} for host {{host}} on port {{port}}. If you expected this key, please remove the previous one from configuration to allow for connection.'
),
placeholders: {
endpointName: '$1',
keyType: '$2',
fingerprint: '$3',
host: '$4',
port: '$5'
}
},
'^Could not login to ssh server on endpoint "(.+)"\\. Provided credential for user "(.+)" is incorrect\\.$':
{
gettext: gettext(
'Could not access SSH server on endpoint "{{endpointName}}". Provided credentials for user "{{userName}}" are incorrect.'
),
placeholders: {
endpointName: '$1',
userName: '$2'
}
},
'^Could not save object remoteAccessUpdate: (.+)$': {
gettext: '{{errorMessages}}',
placeholders: {
errorMessages: {
capture: '$1',
translate: {
'Could not recognize host-key format': {
gettext: gettext('Could not recognize "Host key" format')
},
'Could not recognize key-pair format': {
gettext: gettext('Could not recognize the format of "Public key" or "Private key"')
}
}
}
}
},
'^Could not update user. : Error persisting user (.+?)!$': {
gettext: gettext('Could not update user "{{username}}".'),
placeholders: {
username: '$1'
}
},
'^Create bulk operation$': {
gettext: gettext('Create bulk operation')
},
'^Create bulk operation: (.+)$': {
gettext: gettext('Create bulk operation: {{updatesList}}'),
placeholders: bulkOperationAuditLogTextPlaceholders
},
'^Creation ramp must be greater than (\\d+?)$': {
gettext: gettext('Bulk operation delay must be greater than {{minSeconds}} seconds.'),
placeholders: {
minSeconds: '$1'
}
},
'^Created container$': {
gettext: gettext('Container created.')
},
'^Created pod: (.+)$': {
gettext: gettext('Pod "{{imageName}}" created.'),
placeholders: {
imageName: '$1'
}
},
'^Creating device on LoRa platform failed$': {
gettext: gettext('Could not create the device in the LoRa platform.')
},
'^CSV file contained empty dataset$': {
gettext: gettext('No entries found in uploaded CSV file.')
},
'^Cycle detected for route (.+?)!$': {
gettext: gettext('Cycle detected for route {{route}}.'),
placeholders: {
route: '$1'
}
},
'^Data broker processing is currently overloaded and may stop forwarding your data\\. Please contact support\\.$':
{
gettext: gettext(
'Data broker processing is currently overloaded and may stop forwarding your data. Please contact support.'
)
},
'^Data broker processing is not able to connect do destination tenant, thus data forwarding is not working\\. Please contact support\\.$':
{
gettext: gettext(
'Data broker processing is not able to connect to destination tenant, thus data forwarding is not working. Please contact support.'
)
},
// DataHub global roles' names:
'^DATAHUB_ADMINISTRATOR$': {
gettext: gettext('DataHub Administrator')
},
'^DATAHUB_MANAGER$': {
gettext: gettext('DataHub Manager')
},
'^DATAHUB_READER$': {
gettext: gettext('DataHub Reader')
},
'^Delete bulk operation$': {
gettext: gettext('Delete bulk operation')
},
'^Delete bulk operation: (.+)$': {
gettext: gettext('Delete bulk operation: {{updatesList}}'),
placeholders: bulkOperationAuditLogTextPlaceholders
},
"^Device id '(.+?)' contains '(.+?)' character which is not permitted.$": {
gettext: gettext('ID "{{deviceId}}" contains invalid character: "{{invalidCharacter}}".'),
placeholders: {
deviceId: '$1',
invalidCharacter: '$2'
}
},
"^Device name: '(.+?)', alarm text: '(.+?)'$": {
gettext: gettext('Device name: "{{deviceName}}", alarm text: "{{alarmText | translate}}"'),
placeholders: {
deviceName: '$1',
alarmText: '$2'
}
},
'^Device (.+?) already registered to a tenant.$': {
gettext: gettext('Device {{ devEUI }} is already registered in your tenant or in another tenant in the platform.'),
placeholders: {
devEUI: '$1'
}
},
'^Display name$': {
gettext: gettext('Login alias')
},
'^Domain name in uploaded certificate differs from the one in use$': {
gettext: gettext(
'Domain name in uploaded certificate differs from the one in use. Please deactivate the custom domain before uploading new certificate.'
)
},
'^Domain name is already in use by another tenant!$': {
gettext: gettext('Domain name is already used by another tenant.')
},
'^Duplicated connector for instanceUrl (.+?)!$': {
gettext: gettext('Target URL {{targetUrl}} already used by another connector.'),
placeholders: {
targetUrl: '$1'
}
},
'^Duplicated connector for name (.+?)!$': {
gettext: gettext('Connector name "{{name}}" already used by another connector.'),
placeholders: {
name: '$1'
}
},
'^Entry is outside of the target dir: (.+)$': {
gettext: gettext('File entry outside of the target directory: "{{path}}".'),
placeholders: {
path: '$1'
}
},
'^Error during password validation. : Password must have at least (\\d+?) characters and no more than (\\d+?) and must contain only Latin1 characters.$':
{
gettext: gettext(
'Password is invalid. It must have at least {{minCharactersCount}} and no more than {{maxCharactersCount}} characters.'
),
placeholders: {
minCharactersCount: '$1',
maxCharactersCount: '$2'
}
},
'^Error during password validation. : Your password has been used already. Choose another.$': {
gettext: gettext('This password has already been used earlier. Use a different one.')
},
"^Error in statement (.+?):(.+?)! : Incorrect syntax near '(.+?)' near reserved keyword '(.+?)' \\[([\\S\\s]+?)\\]$":
{
gettext: gettext(
'Error in statement {{moduleName}}:{{statementNumber}}. Incorrect syntax near expression "{{expression}}" near reserved keyword "{{keyword}}".'
),
placeholders: {
moduleName: '$1',
statementNumber: '$2',
expression: '$3',
keyword: '$4'
}
},
'^External id not found; external id = ID \\[type=(.+?), value=(.+?)\\]$': {
gettext: gettext('External ID not found for type "{{type}}" and value "{{value}}".'),
placeholders: {
type: '$1',
value: '$2'
}
},
'^Error occurred when trying to find an Application for id ID (.+) : Could not find application by ID (\\d+)$':
{
gettext: gettext('Could not find application by ID {{applicationId}}.'),
placeholders: {
applicationId: '$2'
}
},
'^Http status code: 404\n{error="options/Not Found",message="Unable to find option by given key: sigfox-agent/provider.token",info="https://www.cumulocity.com/guides/reference-guide/#error_reporting",details="null"}':
{
gettext: gettext('Unable to find option by given key: sigfox-agent/provider.token')
},
'^Failed to delete application. : Cannot remove application assigned to other tenants.$': {
gettext: gettext('Could not delete application assigned to other tenants.')
},
'^Failed to extract certificate from PKCS12$': {
gettext: gettext('Failed to extract certificate from PKCS12.')
},
'^Failed to update domain at the platform$': {
gettext: gettext('Failed to update domain at the platform.')
},
"^Finding device data from database failed : No managedObject for id '(.+?)'!$": {
gettext: gettext('Could not find managed object with ID "{{deviceId}}".'),
placeholders: {
deviceId: '$1'
}
},
'^Following mandatory fields should be included: (.+?)$': {
gettext: gettext('Following mandatory fields should be included: {{fields}}'),
placeholders: {
fields: '$1'
}
},
'^Global Role updated$': {
gettext: gettext('Global role updated')
},
'^Global Role (.+?) updated$': {
gettext: gettext('Global role "{{name}}" updated'),
placeholders: {
name: '$1'
}
},
'^Global Role (.+?) updated: (.+)$': {
gettext: gettext('Global role "{{name}}" updated: {{updatesList}}'),
placeholders: {
name: '$1',
updatesList: {
capture: '$2',
translate: {
'applications \\[([^\\]]+?)\\] added': {
gettext: gettext('applications {{list}} added'),
placeholders: {
list: '$1'
}
},
'applications \\[([^\\]]+?)\\] removed': {
gettext: gettext('applications {{list}} removed'),
placeholders: {
list: '$1'
}
},
'roles \\[([^\\]]+?)\\] added': {
gettext: gettext('roles {{list}} added'),
placeholders: {
list: '$1'
}
},
'roles \\[([^\\]]+?)\\] removed': {
gettext: gettext('roles {{list}} removed'),
placeholders: {
list: '$1'
}
}
}
}
}
},
'^Global Roles$': {
gettext: gettext('Global roles')
},
'^Operation updated: (.+)$': {
gettext: gettext('Operation updated: {{updatesList}}'),
placeholders: {
updatesList: {
capture: '$1',
translate: {
"status='(.+?)'": {
gettext: gettext('status: "{{ status | translate }}"'),
placeholders: {
status: '$1'
}
},
"description='(.+?)'": {
gettext: gettext('description: "{{ description | translate }}"'),
placeholders: {
description: '$1'
}
},
"device name='(.+?)'": {
gettext: gettext('device name: "{{ deviceName }}"'),
placeholders: {
deviceName: '$1'
}
},
"failure reason='(.+?)'": {
gettext: gettext('failure reason: "{{ failureReason | translate }}"'),
placeholders: {
failureReason: '$1'
}
}
}
}
}
},
'^ID \\[type=(.+?), value=(.+?)\\] was already bound to different Global ID.$': {
gettext: gettext('External ID "{{value}}" of the type "{{type}}" already exists.'),
placeholders: {
type: '$1',
value: '$2'
}
},
'^Invalid credentials! : Bad credentials$': {
gettext: gettext('Invalid credentials.')
},
'^Invalid credentials! : No phone number provided$': {
gettext: gettext('Log into the management tenant first and enter your phone number.')
},
'^Inventory Role removed$': {
gettext: gettext('Inventory role removed')
},
'^Inventory Role (.+?) removed': {
gettext: gettext('Inventory role "{{name}}" deleted.'),
placeholders: {
name: '$1'
}
},
'^Inventory Role updated$': {
gettext: gettext('Inventory role updated')
},
'^Inventory Role (.+?) updated': {
gettext: gettext('Inventory role "{{name}}" updated.'),
placeholders: {
name: '$1'
}
},
'^I/O error: Connection refused; nested exception is Connection refused : Connection refused': {
gettext: gettext('Connection refused')
},
'^I/O error: Read timed out; nested exception is Read timed out : Read timed out': {
gettext: gettext('Read timed out')
},
'^Log file requested$': {
gettext: gettext('Log file requested.')
},
'^Managed object deleted$': {
gettext: gettext('Managed object deleted')
},
'^Managed object "(.+?)" deleted$': {
gettext: gettext('Managed object "{{name}}" deleted'),
placeholders: {
name: '$1'
}
},
'^Maximum file size exceeded$': {
gettext: gettext('Maximum file size exceeded.')
},
"^Message with ID (.+?) doesn't exist in smart rest template (.+?)$": {
gettext: gettext(
'Message with ID "{{messageId}}" doesn\'t exist in SmartREST template with ID "{{templateId}}"'
),
placeholders: {
messageId: '$1',
templateId: '$2'
}
},
'^name of Application cannot start with \'(.+)\' prefix.$': {
gettext: gettext('Application name must not start with "{{ prefix }}".'),
placeholders: {
prefix: '$1'
}
},
'^NewDeviceRequest for id = (.+?) already exists.$': {
gettext: gettext('Device registration request with ID {{id}} already exists.'),
placeholders: {
id: '$1'
}
},
'^NewDeviceRequest for device id (.+?) is in state BLOCKED, not PENDING_ACCEPTANCE.$': {
gettext: gettext(
'Device registration request with ID "{{deviceId}}" is in state "Blocked", not "Pending acceptance". Remove this registration request and start over.'
),
placeholders: {
deviceId: '$1'
}
},
'^No communication with device since (.+?)$': {
gettext: gettext('No communication with device since {{timestamp | absoluteDate}}.'),
placeholders: {
timestamp: '$1'
}
},
'^No data received from device within required interval.$': {
gettext: gettext('No data received from device within required interval.')
},
'^No LoRa provider settings are found. Please configure the connectivity settings.$': {
gettext: gettext(
'No LoRa provider settings are found. Please configure the connectivity settings.'
)
},
'^Not within any context!$': {
gettext: gettext('A problem occurred with microservice subscription.')
},
'^Maximum age cannot be bigger than 10 years.$': {
gettext: gettext('Maximum age cannot be bigger than 10 years.')
},
'^Microservice application name incorrect. Please use only lower-case letters, digits and dashes. Maximum length is (\\d+) characters.$':
{
gettext: gettext(
'Microservice application name is incorrect: only lower case letters, digits and dashes allowed. Maximum length: {{maxLength}}.'
),
placeholders: {
maxLength: '$1'
}
},
'^Microservice not available.*$': {
gettext: gettext('Microservice is not available.')
},
'^Operation created$': {
gettext: gettext('Operation created.')
},
'^Operation updated$': {
gettext: gettext('Operation updated.')
},
"^Operation created: status='(.+?)'.": {
gettext: gettext('Operation created: status: "{{ status | translate }}".'),
placeholders: {
status: '$1'
}
},
'^Option created$': {
gettext: gettext('Option created.')
},
'^Option "(.+?)" created$': {
gettext: gettext('Option "{{option}}" created.'),
placeholders: {
option: '$1'
}
},
'^Option deleted$': {
gettext: gettext('Option deleted.')
},
'^Option "(.+?)" deleted$': {
gettext: gettext('Option "{{option}}" deleted.'),
placeholders: {
option: '$1'
}
},
'^Owner field error. : Cannot introduce cyclic dependency.': {
gettext: gettext('Could not introduce cyclic ownership dependency.')
},
'^Password change is temporary blocked.$': {
gettext: gettext('Password change is temporarily blocked.')
},
'^Password cipher does not match': {
gettext: gettext('Password cipher does not match.')
},
'^Platform application cannot be added to, nor removed from any tenant.$': {
gettext: gettext('Platform application cannot be added to, nor removed from any tenant.')
},
'^Private key must be provided in KEY_PAIR credentials$': {
gettext: gettext('Private key must be provided when "Public/private keys" option is selected.')
},
'^Private key cipher does not match': {
gettext: gettext('Private key cipher does not match')
},
'^Protocol "(.+?)" does not support "(.+?)" credentials type$': {
gettext: gettext(
'Protocol "{{protocol}}" does not support "{{credentialsType}}" credentials type.'
),
placeholders: {
protocol: '$1',
credentialsType: '$2'
}
},
'^Provided security key does not match key stored for device (.+?).$': {
gettext: gettext(
'Provided security token does not match the security token stored for this device "{{deviceId}}".'
),
placeholders: {
deviceId: '$1'
}
},
'^Provided security key does not match key stored for device (.+?).Reached maximum number of failed attempts while trying to register this device. Request will now be blocked and has to be removed manually to restart the process.$':
{
gettext: gettext(
'The provided security token does not match the token stored for device "{{deviceId}}". You have reached the maximum number of failed attempts while trying to register this device. The request will now be blocked and must be removed manually to restart the process.'
),
placeholders: {
deviceId: '$1'
}
},
'^pulling image "(.+)"$': {
gettext: gettext('Pulling image: "{{imageName}}".'),
placeholders: {
imageName: '$1'
}
},
'^Real-time event processing is currently overloaded and may stop processing your events\\. Please contact support\\.$':
{
gettext: gettext(
'Real-time event processing is currently overloaded and may stop processing your events. Please contact support.'
)
},
'^Resource ID \\[type=com_cumulocity_model_idtype_GId, value=(.+?)\\] for this request not found.$':
{
gettext: gettext('Could not find the resource with ID "{{id}}".'),
placeholders: {
id: '$1'
}
},
'^Retrieve configuration snapshot from device (.+?)': {
gettext: gettext('Retrieve configuration snapshot from device {{deviceName}}'),
placeholders: {
deviceName: '$1'
}
},
'^Retrieve (.+?) configuration snapshot from device (.+?)': {
gettext: gettext(
'Retrieve {{configurationType}} configuration snapshot from device {{deviceName}}'
),
placeholders: {
configurationType: '$1',
deviceName: '$2'
}
},
'^Scaled up replica set (.+) to (\\d+)$': {
gettext: gettext('Replica set "{{replicaSetName}}" scaled up to "{{scaleNumber}}".'),
placeholders: {
replicaSetName: '$1',
scaleNumber: '$2'
}
},
'^Send configuration snapshot (.+?) of configuration type (.+?) to device (.+?)': {
gettext: gettext(
'Send configuration snapshot {{snapshotName}} of configuration type {{configurationType}} to device {{deviceName}}'
),
placeholders: {
snapshotName: '$1',
configurationType: '$2',
deviceName: '$3'
}
},
'^Send configuration snapshot (.+?) to device (.+?)': {
gettext: gettext('Send configuration snapshot {{snapshotName}} to device {{deviceName}}'),
placeholders: {
snapshotName: '$1',
deviceName: '$2'
}
},
'^Simulator state is invalid: (.+)$': {
gettext: gettext('Simulator state is invalid: {{violations}}'),
placeholders: {
violations: {
capture: '$1',
translate: {
'(\\w+?) - may not be null': {
gettext: gettext('"{{field}}" should not be null'),
placeholders: {
field: '$1'
}
},
'(\\w+?) - must be less than or equal to (\\d+)': {
gettext: gettext('"{{field}}" must be less than or equal to {{maxValue}}'),
placeholders: {
field: '$1',
maxValue: '$2'
}
},
'(\\w+?) - should not contain null values': {
gettext: gettext('"{{field}}" should not contain null values'),
placeholders: {
field: '$1'
}
}
}
}
}
},
"^Smart rest template (.+?) doesn't exist$": {
gettext: gettext('SmartREST template with id "{{templateId}}" doesn\'t exist.'),
placeholders: {
templateId: '$1'
}
},
'^Smart rule created$': {
gettext: gettext('Smart rule created.')
},
'^Smart rule updated$': {
gettext: gettext('Smart rule updated.')
},
'^Smart rule enabled$': {
gettext: gettext('Smart rule activated.')
},
'^Smart rule disabled$': {
gettext: gettext('Smart rule deactivated.')
},
'^Smart rule deleted$': {
gettext: gettext('Smart rule deleted.')
},
'^Smart rule "(.+?)" created$': {
gettext: gettext('Smart rule "{{name}}" created.'),
placeholders: {
name: '$1'
}
},
'^Smart rule "(.+?)" updated$': {
gettext: gettext('Smart rule "{{name}}" updated.'),
placeholders: {
name: '$1'
}
},
'^Smart rule "(.+?)" enabled$': {
gettext: gettext('Smart rule "{{name}}" activated.'),
placeholders: {
name: '$1'
}
},
'^Smart rule "(.+?)" disabled$': {
gettext: gettext('Smart rule "{{name}}" deactivated.'),
placeholders: {
name: '$1'
}
},
'^Smart rule "(.+?)" deleted$': {
gettext: gettext('Smart rule "{{name}}" deleted.'),
placeholders: {
name: '$1'
}
},
'^Started container$': {
gettext: gettext('Container started.')
},
'^Successfully assigned (.+) to (.+)$': {
gettext: gettext('"{{imageName}}" assigned to "{{address}}".'),
placeholders: {
imageName: '$1',
address: '$2'
}
},
'^Successfully pulled image "(.+)"$': {
gettext: gettext('Image "{{imageName}}" pulled.'),
placeholders: {
imageName: '$1'
}
},
'^Tenant creation failed. : Tenant with given id already exists.$': {
gettext: gettext('Could not create a tenant. Tenant with given domain/URL already exists.')
},
'^Tenant id cannot be a reserved sql keyword "(.+?)".$': {
gettext: gettext('Could not use a reserved SQL keyword "{{tenantId}}" as a domain name.'),
placeholders: {
tenantId: '$1'
}
},
'^Tenant "(.+?)" activated$': {
gettext: gettext('Tenant "{{tenant}}" activated.'),
placeholders: {
tenant: '$1'
}
},
'^Tenant (.+?) has sub-tenants, please remove them first!$': {
gettext: gettext('Could not remove tenant "{{tenant}}". Remove its subtenants first.'),
placeholders: {
tenant: '$1'
}
},
'^Tenant activated$': {
gettext: gettext('Tenant activated.')
},
'^Tenant "(.+?)" created$': {
gettext: gettext('Tenant "{{tenant}}" created.'),
placeholders: {
tenant: '$1'
}
},
'^Tenant created$': {
gettext: gettext('Tenant created.')
},
'^Tenant "(.+?)" deleted$': {
gettext: gettext('Tenant "{{tenant}}" deleted.'),
placeholders: {
tenant: '$1'
}
},
'^Tenant deleted$': {
gettext: gettext('Tenant deleted.')
},
'^Tenant "(.+?)" suspended$': {
gettext: gettext('Tenant "{{tenant}}" suspended.'),
placeholders: {
tenant: '$1'
}
},
'^Tenant suspended$': {
gettext: gettext('Tenant suspended')
},
'^Tenant "(.+?)" updated: (.+?)$': {
gettext: gettext('Tenant "{{tenant}}" updated: {{properties}}.'),
placeholders: {
tenant: '$1',
properties: '$2'
}
},
'^Tenant updated$': {
gettext: gettext('Tenant updated.')
},
'^Too Many Requests$': {
gettext: gettext('Too many requests. Try again later.')
},
"^User alias equals username '(.+)'$": {
gettext: gettext('Username and login alias must be different.')
},
'^User created$': {
gettext: gettext('User created')
},
'^User (.+?) created$': {
gettext: gettext('User "{{name}}" created'),
placeholders: {
name: '$1'
}
},
'^User deleted$': {
gettext: gettext('User deleted')
},
'^User (.+?) deleted$': {
gettext: gettext('User "{{name}}" deleted'),
placeholders: {
name: '$1'
}
},
'^User logout$': {
gettext: gettext('User logout')
},
'^(.+?) user logout$': {
gettext: gettext('"{{name}}" user logout'),
placeholders: {
name: '$1'
}
},
'^(.+?) user logged in to the platform with OAuth internal login mode$': {
gettext: gettext('"{{name}}" user logged in to the platform with OAI-Secure login mode'),
placeholders: {
name: '$1'
}
},
'^(.+?) user login with OAuth internal mode failed$': {
gettext: gettext('"{{name}}" user login with OAI-Secure mode failed'),
placeholders: {
name: '$1'
}
},
'^User updated$': {
gettext: gettext('User updated')
},
'^User (.+?) updated: (.+)$': {
gettext: gettext('User "{{name}}" updated: {{updatesList}}'),
placeholders: {
name: '$1',
updatesList: {
capture: '$2',
translate: {
"delegatedBy='(.+?)'": {
gettext: gettext('delegated by: "{{delegate}}"'),
placeholders: {
delegate: '$1'
}
},
"owner='(.+?)'": {
gettext: gettext('owner: "{{owner}}"'),
placeholders: {
owner: '$1'
}
},
'inventory assignment \\[(.+?)\\] added': {
gettext: gettext('inventory assignment [{{inventoryAssignment}}] added'),
placeholders: {
inventoryAssignment: '$1'
}
},
'inventory assignment \\[(.+?)\\] removed': {
gettext: gettext('inventory assignment [{{inventoryAssignment}}] removed'),
placeholders: {
inventoryAssignment: '$1'
}
},
'applications \\[(.+?)\\] added$': {
gettext: gettext('applications [{{applicationsList}}] added'),
placeholders: {
applicationsList: '$1'
}
},
'applications \\[(.+?)\\] removed$': {
gettext: gettext('applications [{{applicationsList}}] removed'),
placeholders: {
applicationsList: '$1'
}
},
'global roles \\[(.+?)\\] added$': {
gettext: gettext('global roles [{{globalRolesList}}] added'),
placeholders: {
globalRolesList: '$1'
}
},
'global roles \\[(.+?)\\] removed$': {
gettext: gettext('global roles [{{globalRolesList}}] removed'),
placeholders: {
globalRolesList: '$1'
}
}
}
}
}
},
"^User with username '(.+?)' already exists! : Duplicated: (.+?)$": {
gettext: gettext('User "{{username}}" already exists.'),
placeholders: {
username: '$1'
}
},
"^User with username or alias '(.+)' already exists! : Duplicated: (.+)$": {
gettext: gettext('User with username or login alias "{{usernameOrAlias}}" already exists.'),
placeholders: {
usernameOrAlias: '$1'
}
},
"^User with email '(.+?)' already exists! : Duplicated: (.+?)$": {
gettext: gettext('User with email "{{email}}" already exists.'),
placeholders: {
email: '$1'
}
},
'^unable to find option with given key (.+?) : Could not find entity Option by ID (.+?)!$': {
gettext: gettext('Unable to get tenant option: "{{option}}".'),
placeholders: {
option: '$2'
}
},
'^unable to find option with given key (.+?) : There is no system property for key (.+?)$': {
gettext: gettext('Unable to get system option: "{{option}}".'),
placeholders: {
option: '$2'
}
},
'^Write failed with error code 16733 and error message \'trying to index text where term list is too big, max is 4mb _id: "(.+?)"\'$':
{
gettext: gettext(
'The uploaded image cannot be bigger than 4 MB. Please upload a smaller one.'
)
},
'^Write failed with error code 17280 and error message \'WiredTigerIndex::insert: key too large to index, failing (.+?) { : "(.+?)" }\'$':
{
gettext: gettext('The selected name is too long. Please try a shorter one.')
},
'^You have reached devices limit. No more devices can be registered.$': {
gettext: gettext('You reached devices limit. No more devices can be registered.')
},
'^(.+) succeeded for volume "(.+)"': {
gettext: gettext('Operation "{{operation}}" succeeded for volume "{{volume}}".'),
placeholders: {
operation: '$1',
volume: '$2'
}
},
"^Exception on tenant (.+) in statement '(.+)': Invocation exception when invoking method '(.+)' of class '(.+)' passing parameters \\[(.+)\\] for statement '(.+)': (.+) : (.+)$":
{
gettext: gettext(
'Exception on tenant {{tenantId}} in statement "{{moduleName}}": Invocation exception when invoking method "{{methodName}}" of class "{{classPath}}" passing parameters [{{parameters}}] for statement "{{statement}}": {{exceptionType}} : {{exceptionMessage}}.'
),
placeholders: {
tenantId: '$1',
moduleName: '$2',
methodName: '$3',
classPath: '$4',
parameters: '$5',
statement: '$6',
exceptionType: '$7',
exceptionMessage: '$8'
}
},
'^No nodes are available that match all of the predicates: (.+).$': {
gettext: gettext('No nodes are available that match all of the predicates: [{{predicates}}].'),
placeholders: {
predicates: '$1'
}
},
'^Readiness probe failed: (.+) (.+): (.+): request canceled while waiting for connection \\(Client.Timeout exceeded while awaiting headers\\)$':
{
gettext: gettext(
'Readiness probe failed: {{requestMethod}} {{uri}}: {{protocol}}: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).'
),
placeholders: {
requestMethod: '$1',
uri: '$2',
protocol: '$3'
}
},
'^Liveness probe failed: (.+) (.+): (.+): request canceled while waiting for connection \\(Client.Timeout exceeded while awaiting headers\\)$':
{
gettext: gettext(
'Liveness probe failed: {{requestMethod}} {{uri}}: {{protocol}}: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).'
),
placeholders: {
requestMethod: '$1',
uri: '$2',
protocol: '$3'
}
},
'^Error syncing pod$': {
gettext: gettext('Pod synchronization error.')
},
'^Failed create pod sandbox.$': {
gettext: gettext('Pod sandbox creation failed.')
},
'^Exception on tenant (.+) in statement \'(.+)\': Http status code: (\\d+) \\{error="alarm/Unprocessable Entity",message="(.+)",info="https://www.cumulocity.com/guides/reference-guide/#error_reporting",details="null"\\}$':
{
gettext: gettext(
'Exception on tenant {{tenantId}} in statement "{{statement}}": HTTP status code: {{httpStatusCode}} : {{message | translate}}'
),
placeholders: {
tenantId: '$1',
statement: '$2',
httpStatusCode: '$3',
message: '$4'
}
},
"^User '(.+)' is managed by a remote identity management service defined by an administrator, direct update is forbidden$":
{
gettext: gettext(
'User "{{userName}}" is managed by a remote identity management service defined by an administrator, direct update is forbidden.'
),
placeholders: {
userName: '$1'
}
},
'^Added new child device to "(.+)" \\(ID: (.+)\\).$': {
gettext: gettext('Added new child device to "{{parentDeviceName}}" (ID: {{parentDeviceId}}).'),
placeholders: {
parentDeviceName: '$1',
parentDeviceId: '$2'
}
},
'^Updated child device of "(.+)" \\(ID: (.+)\\).$': {
gettext: gettext('Updated child device of "{{parentDeviceName}}" (ID: {{parentDeviceId}}).'),
placeholders: {
parentDeviceName: '$1',
parentDeviceId: '$2'
}
},
'^Added child device "(.+)" \\(ID: (.+)\\).$': {
gettext: gettext('Added child device "{{name}}" (ID: {{id}}).'),
placeholders: {
name: '$1',
id: '$2'
}
},
'^Removed child device "(.+)" \\(ID: (.+)\\).$': {
gettext: gettext('Removed child device "{{name}}" (ID: {{id}}).'),
placeholders: {
name: '$1',
id: '$2'
}
},
'^Change value of "(.+)" to (.+) (.+).$': {
gettext: gettext('Change value of "{{name}}" to {{value}}{{unit}}.'),
placeholders: {
name: '$1',
value: '$2',
unit: '$3'
}
},
'^Change value of "(.+)" to (.+).$': {
gettext: gettext('Change value of "{{name}}" to {{value}}.'),
placeholders: {
name: '$1',
value: '$2'
}
},
'^Change status of "(.+)" to "(.+)".$': {
gettext: gettext('Change status of "{{name}}" to "{{label}}".'),
placeholders: {
name: '$1',
label: '$2'
}
},
'^Send message "(.+)".$': {
gettext: gettext('Send message "{{str}}".'),
placeholders: {
str: '$1'
}
},
'^Close relay (.+).$': {
gettext: gettext('Close relay {{number}}.'),
placeholders: {
number: '$1'
}
},
'^Open relay (.+).$': {
gettext: gettext('Open relay {{number}}.'),
placeholders: {
number: '$1'
}
},
'^Change trace status to (.+).$': {
gettext: gettext('Change trace status to {{state | translate}}.'),
placeholders: {
state: '$1'
}
},
'^Change relay status to (.+).$': {
gettext: gettext('Change relay status to {{status | translate}}.'),
placeholders: {
status: '$1'
}
},
'^Closing relay (.+).$': {
gettext: gettext('Closing relay {{number}}.'),
placeholders: {
number: '$1'
}
},
'^Opening relay (.+).$': {
gettext: gettext('Opening relay {{number}}.'),
placeholders: {
number: '$1'
}
},
'^Update bulk operation$': {
gettext: gettext('Update bulk operation')
},
'^Update bulk operation: (.+)$': {
gettext: gettext('Update bulk operation: {{updatesList}}'),
placeholders: bulkOperationAuditLogTextPlaceholders
},
'^Update firmware to: "?(.+?)"? \\(version: (.+)\\)\\.?$': {
gettext: gettext('Update firmware to: "{{ name }}" (version: {{ version }})'),
placeholders: {
name: '$1',
version: '$2'
}
},
'^Update firmware to: "?(.+?)"?\\.?$': {
gettext: gettext('Update firmware to: "{{ name }}"'),
placeholders: {
name: '$1'
}
},
'^Update configuration to (.+).$': {
gettext: gettext('Update configuration to: {{ name }}.'),
placeholders: {
name: '$1'
}
},
'^Apply device profile: (.+).?$': {
gettext: gettext('Apply device profile: {{ name }}'),
placeholders: {
name: '$1'
}
},
'^Execute generic command: (.+).?$': {
gettext: gettext('Execute generic command: {{command}}'),
placeholders: {
command: '$1'
}
},
'^Failed to refresh application. : Cannot refresh non local-hosted application.$': {
gettext: gettext('Could not reactivate the application as it is not hosted locally.')
},
'^Failed to refresh application. : Cannot refresh application without active version id.$': {
gettext: gettext('Could not reactivate the application as it has no active version.')
},
// TODO: remove if we decide not to translate such messages:
// '^Killing container with id (.+):Need to kill Pod$': {
// gettext: gettext('Killing container with ID "{{containerId}}". Need to kill Pod.'),
// placeholders: {
// containerId: '$1'
// }
// },
'^Scaled down replica set (.+) to (\\d+)$': {
gettext: gettext('Replica set "{{replicaSetName}}" scaled down to "{{scaleNumber}}".'),
placeholders: {
replicaSetName: '$1',
scaleNumber: '$2'
}
},
'^Deleted pod: (.+)$': {
gettext: gettext('Pod "{{imageName}}" deleted.'),
placeholders: {
imageName: '$1'
}
},
'^Container image "(.+)" already present on machine$': {
gettext: gettext('Container image "{{imageName}}" already exists.'),
placeholders: {
imageName: '$1'
}
},
'^Error updating tenant! Cannot insert second configuration for Password code grant internal/Bad Request$':
{
gettext: gettext(
'This login mode was already set by another administrator. Refresh the page to update the data.'
)
},
'^Authentication with id: (.+?) configuration updated.$':
{
gettext: gettext(
'Authentication configuration with id "{{id}}" updated.'
),
placeholders: {
id: '$1'
}
},
'^Authentication configuration with id: (.+?) added.$':
{
gettext: gettext(
'Authentication configuration with id "{{id}}" added.'
),
placeholders: {
id: '$1'
}
},
'^Configuration type: basic.$': {
gettext: gettext('Configuration type: Basic Auth.')
},
'^Configuration type: oauth2_internal.$': {
gettext: gettext('Configuration type: OAI-Secure.')
},
'^Configuration type: oauth2.$': {
gettext: gettext('Configuration type: Single sign-on.')
},
'^Application activated$': {
gettext: gettext('Application activated')
},
'^Hosted application \"(.+?)\" activated: activeVersionId \\[(.+?)\\] added$': {
gettext: gettext('Hosted application "{{appName}}" activated: activeVersionId "{{activeVersionId}}" added'),
placeholders: {
appName: '$1',
activeVersionId: '$2'
}
},
'^Application deleted$': {
gettext: gettext('Application deleted')
},
'^Hosted application \"(.+?)\" deleted for tenant \"(.+?)\"$': {
gettext: gettext('Hosted application "{{appName}}" deleted from tenant "{{tenant}}"'),
placeholders: {
appName: '$1',
tenant: '$2'
}
},
}
|
bulkOperationCreateSingleRoutes |
Type : Route[]
|
Default value : [
{
path: 'devicecontrol/single/create-bulk/:operationId',
component: BulkOperationFromSingleComponent
}
]
|
bulkOperationListRoutes |
Type : Route[]
|
Default value : [
{
path: 'devicecontrol/bulk',
component: BulkOperationsListComponent
}
]
|
bulkOperatioStepperRoutes |
Type : Route[]
|
Default value : [
{
path: 'devicecontrol/bulk/creation/:type',
component: BulkOperationsStepperContainerComponent
}
]
|
bulkSchema |
Type : object
|
Default value : {
$schema: 'https://json-schema.org/draft/2019-09/schema',
type: 'object',
properties: {
csvBulkFile: {
type: 'string',
title: gettext('Upload a file to bulk-register devices'),
description: gettext('You can use file upload component to let users send files. This input would accept only a single CSV file.'),
contentEncoding: 'base64',
contentMediaType: 'csv'
}
},
required: ['csvBulkFile'],
additionalProperties: false
}
|
fullCsvHeaders |
Type : string[]
|
Default value : ['ID', 'CREDENTIALS', 'TYPE', 'NAME', 'ICCID', 'IDTYPE', 'PATH', 'SHELL', 'AUTH_TYPE']
|
simpleCsvHeaders |
Type : string[]
|
Default value : ['ID', 'PATH']
|
bulkSchema |
Type : object
|
Default value : {
$schema: 'https://json-schema.org/draft/2019-09/schema',
type: 'object',
properties: {
csvBulkFile: {
type: 'string',
title: gettext('CSV File upload'),
description: gettext('You can use file upload component to let users send files. This input would accept only a single CSV file.'),
contentEncoding: 'base64',
contentMediaType: 'csv'
}
},
required: ['csvBulkFile'],
additionalProperties: false
}
|
cache |
Default value : new Map()
|
iconsByCategory |
Type : DefaultIcons
|
Default value : {
city: {
label: gettext('City`icons-category`'),
icons: cityIcons
},
devicesAndSensors: {
label: gettext('Devices and sensors`icons-category`'),
icons: devicesAndSensorsIcons
},
location: {
label: gettext('Location`icons-category`'),
icons: locationIcons
},
office: {
label: gettext('Office`icons-category`'),
icons: officeIcons
},
security: {
label: gettext('Security`icons-category`'),
icons: securityIcons
},
transport: {
label: gettext('Transport`icons-category`'),
icons: transportIcons
},
userInterface: {
label: gettext('User interface`icons-category`'),
icons: userInterfaceIcons
},
weather: {
label: gettext('Weather`icons-category`'),
icons: weatherIcons
}
}
|
weatherIcons |
Type : []
|
Default value : [
'sun',
'sunlight',
'cloud1',
'rain',
'winter',
'storm',
'keep-dry',
'umbrella'
]
|
CLEAN_KEYS |
Type : []
|
Default value : ['creationTime', 'deviceExternalIDs', 'id', 'self']
|
CLEAN_KEYS_UPDATE |
Type : []
|
Default value : ['deviceId', 'deviceName', 'bulkOperationId']
|
OPERATION_STATUS_LABELS |
Type : object
|
Default value : {
PENDING: gettext('Pending'),
EXECUTING: gettext('Executing'),
FAILED: gettext('Failed'),
SUCCESSFUL: gettext('Successful')
}
|
OPERATION_STATUS_OPTIONS_MAP |
Type : OperationStatusOptionsMap
|
Default value : {
PENDING: {
label: OPERATION_STATUS_LABELS.PENDING,
status: OperationStatus.PENDING,
icon: 'clock-o',
styleClass: ''
} as unknown as StatusOption,
EXECUTING: {
label: OPERATION_STATUS_LABELS.EXECUTING,
status: OperationStatus.EXECUTING,
icon: 'refresh',
styleClass: 'text-info'
} as unknown as StatusOption,
SUCCESSFUL: {
label: OPERATION_STATUS_LABELS.SUCCESSFUL,
status: OperationStatus.SUCCESSFUL,
icon: 'check-circle',
styleClass: 'text-success'
} as unknown as StatusOption,
FAILED: {
label: OPERATION_STATUS_LABELS.FAILED,
status: OperationStatus.FAILED,
icon: 'exclamation-circle',
styleClass: 'text-danger'
} as unknown as StatusOption
}
|
RESERVED_KEYS |
Default value : CLEAN_KEYS.concat(['deviceId', 'deviceName', 'bulkOperationId'])
|
STANDARD_KEYS |
Type : object
|
Default value : {
failureReason: gettext('Failure reason'),
description: gettext('Description'),
status: gettext('Status')
}
|
COCKPIT_CONFIG_PATH |
Type : string
|
Default value : 'cockpit-application-configuration'
|
DEFAULT_CONFIG |
Type : CockpitConfig
|
Default value : {
rootNodes: [],
features: {
alarms: true,
dataExplorer: true,
groups: true,
reports: true,
exports: true,
dataPointLibrary: true,
globalSmartRules: true,
smartRules: true,
subassets: true,
search: true
},
hideNavigator: false,
homeDashboardName: DEFAULT_HOME_DASHBOARD_NAME,
userSpecificHomeDashboard: false
}
|
DEFAULT_HOME_DASHBOARD_NAME |
Type : string
|
Default value : 'home-cockpit1'
|
USER_HOME_DASHBOARD_NAME |
Type : string
|
Default value : 'home-cockpit-user'
|
COCKPIT_HOME_DASHBOARD_CONFIG |
Default value : new InjectionToken(
'CockpitHomeDashboardConfig'
)
|
A hook to define the default widgets of the home dashboard in the cockpit app. |
CONFIG_OPTIONS_DEFAULT |
Type : AssetSelectorOptions
|
Default value : {
label: gettext('Asset selection'),
multi: false,
showFilter: false,
columnHeaders: false,
singleColumn: false,
modelMode: 'simple',
groupsOnly: false,
groupsSelectable: false,
search: false,
showUnassignedDevices: false,
view: 'tree',
showChildDevices: false
}
|
connectivityRoutes |
Type : Route[]
|
Default value : [
{
path: 'connectivitySettings',
component: ConditionalTabsOutletComponent
}
]
|
CONTEXT_DASHBOARD_CONFIG |
Default value : new InjectionToken<any>('ContextDashboardConfig')
|
STYLING_CLASS_PREFIXES |
Type : []
|
Default value : ['dashboard-theme-', 'panel-title-', 'panel-content-']
|
CUMULOCITY_JSON |
Type : string
|
Default value : 'cumulocity.json'
|
DATAPOINT_LIBRARY_FRAGMENT |
Type : string
|
Default value : 'c8y_Kpi'
|
defaultConfig |
Type : object
|
Default value : {
allowFullscreen: true,
widgetFilter({ data }) {
return !(data && data.settings && data.settings.noNewWidgets);
},
routes: [
{
path: 'dashboard/:dashboardId',
component: ContextDashboardComponent,
canActivate: [DeviceDashboardGuard],
context: ViewContext.Device
},
{
path: 'dashboard/:dashboardId',
component: ContextDashboardComponent,
canActivate: [GroupDashboardGuard],
context: ViewContext.Group
}
]
}
|
DEVICE_SHELL_ROUTE |
Type : Route
|
Default value : {
path: 'shell',
context: ViewContext.Device,
component: DeviceShellComponent,
label: gettext('Shell'),
icon: 'terminal',
canActivate: [DeviceShellGuard]
}
|
deviceAvailabilityIconMap |
Type : object
|
Default value : {
sendData: {
[SendStatus.AVAILABLE]: {
icon: 'long-arrow-right',
class: 'statusOk'
},
[SendStatus.UNAVAILABLE]: {
icon: 'long-arrow-right',
class: 'statusNok'
},
[SendStatus.UNKNOWN]: {
icon: 'long-arrow-right',
class: 'statusUnknown'
},
[SendStatus.NOT_MONITORED]: {
icon: 'long-arrow-right',
class: 'statusUnknown'
}
},
push: {
[PushStatus.CONNECTED]: {
icon: 'long-arrow-left',
class: 'statusOk'
},
[PushStatus.DISCONNECTED]: {
icon: 'long-arrow-left',
class: 'statusUnknown'
},
[PushStatus.UNKNOWN]: {
icon: 'long-arrow-left',
class: 'statusUnknown'
},
[PushStatus.MAINTENANCE]: {
icon: 'wrench',
class: 'statusAlert'
}
},
device: {
MAINTENANCE: {
icon: 'wrench',
class: 'statusAlert'
}
}
}
|
tooltips |
Type : object
|
Default value : {
sendStatusConnected: (lastMessage, translateService) => {
const date = formatDate(
new Date(lastMessage),
'medium',
translateService.currentLang || TranslateService.defaultLang()
);
return translateService.instant(gettext('Device last request:\n{{date}}'), { date });
},
sendStatusDisconnected: gettext('Connection not monitored'),
pushStatusConnected: gettext('Connection to device established'),
pushStatusDisconnected: gettext(
'Connection to device not established (not supported by device or no connectivity)'
),
maintenance: gettext('Device is under maintenance')
}
|
deviceProfilesRoutes |
Type : Route[]
|
Default value : [
{
path: 'device-profiles/:id',
component: DeviceProfileComponent
},
{
path: 'device-profiles',
component: DeviceProfileListComponent
}
]
|
deviceProtocolRoutes |
Type : Route[]
|
Default value : [
{
path: 'deviceprotocols/opcuaV2/:id',
component: OpcuaDeviceProtocolDetailComponent
}
]
|
routes |
Type : Route[]
|
Default value : [
{
context: ViewContext.Device,
path: 'opcua-servers',
component: OpcuaServersComponent,
label: gettext('OPC UA server'),
icon: 'server',
canActivate: [OpcuaAgentGuard, OpcuaMicroserviceGuard]
},
{
context: ViewContext.Device,
path: 'address-space',
component: OpcuaAddressSpaceComponent,
label: gettext('Address space'),
icon: 'cloud-network',
canActivate: [OpcuaServerGuard, OpcuaMicroserviceGuard]
}
]
|
ES_MAX_TIME_MILLISECONDS |
Type : number
|
Default value : 8640000000000000
|
The range of times supported by ECMAScript Date objects in milliseconds. |
exportSchedulesComponent |
Default value : downgradeComponent({
component: ExportSchedulesComponent
})
|
FIRMWARE_FRAGMENT |
Type : string
|
Default value : 'c8y_Firmware'
|
SUPPORTED_OPERATIONS_FRAGMENT |
Type : string
|
Default value : 'c8y_SupportedOperations'
|
HOOK_ACTION |
Default value : new InjectionToken('ActionFactory')
|
A hook to add an action using the multi-provider extension concept. |
HOOK_ACTION_BAR |
Default value : new InjectionToken<ActionBarExtension>('ActionBarFactory')
|
A hook to add ActionBarItems using the multi provider extension concept. |
HOOK_BREADCRUMB |
Default value : new InjectionToken('BreadcrumbFactory')
|
HOOK_COMPONENTS |
Default value : new InjectionToken<DynamicComponentExtension[]>(
'Hook Dynamic Component'
)
|
A hook to add dynamic components to the UI (e.g. widgets). |
HOOK_DEVICE_REGISTRATION |
Default value : new InjectionToken<RegisterDeviceExtension>('RegisterDevicesFactory')
|
HOOK_DOCS |
Default value : new InjectionToken<DocLinkExtension[]>('Hook docs')
|
HOOK_DYNAMIC_PROVIDER_CONFIG |
Default value : new InjectionToken('Dynamic Provider Config')
|
HOOK_NAVIGATOR_NODES |
Default value : new InjectionToken<NavigatorExtension[]>(
'NavigatorNodesFactory'
)
|
A hook to use for Multi Provider extension. |
HOOK_OPTIONS |
Default value : new InjectionToken<ExtensionFactory<ApplicationOptions>>('App options')
|
HOOK_PATTERN_MESSAGES |
Default value : new InjectionToken('Pattern Messages')
|
HOOK_SEARCH |
Default value : new InjectionToken('SearchFactory')
|
A hook to use for Multi Provider extension. |
SERVICE_STATUS_OPTIONS |
Type : StatusOption[]
|
Default value : [
{
key: 'up',
label: gettext('Up'),
icon: 'check-circle',
class: 'text-success'
},
{
key: 'down',
label: gettext('Down'),
icon: 'exclamation-circle',
class: 'text-danger'
},
{
key: 'unknown',
label: gettext('Unknown'),
icon: 'inactive-state'
}
]
|
Standard status options supported by the platform. |
HOOK_STEPPER |
Default value : new InjectionToken<StepperExtension[]>('HookStepper')
|
A hook to use for Multi Provider extension. |
HOOK_TABS |
Default value : new InjectionToken<TabExtension[]>('TabsFactory')
|
A hook to use for Multi Provider extension. |
HOOK_WIZARD |
Default value : new InjectionToken<WizardExtension[]>('Generic wizard')
|
A hook to add wizard entries. |
ICON_LIST |
Default value : new InjectionToken('iconList')
|
impactRoutes |
Type : Route[]
|
Default value : [
{
path: 'connectivitySettings/impact_provider_settings',
component: ImpactProviderSettingsComponent,
canActivate: [ImpactGuard]
}
]
|
LANGUAGES |
Default value : new InjectionToken('Languages')
|
LOCALE_PATH |
Default value : new InjectionToken('Locale path')
|
MAX_PAGE_SIZE |
Type : number
|
Default value : 2000
|
The maximum pageSize used in API queries to c8y. |
MESSAGES |
Type : object
|
Default value : {
'^Sender name$': {
gettext: gettext('Sender name')
},
'^Sender name used for sent SMS$': {
gettext: gettext('Sender name used for sent SMS')
},
'^Sender address$': {
gettext: gettext('Sender address')
},
'^Sender address used for sent SMS$': {
gettext: gettext('Sender address used for sent SMS')
},
'^Username$': {
gettext: gettext('Username')
},
'^Password$': {
gettext: gettext('Password')
},
'^Licence key$': {
gettext: gettext('License key')
},
'^Key$': {
gettext: gettext('Key')
},
'^API base URL$': {
gettext: gettext('API base URL')
},
'^API URL$': {
gettext: gettext('API URL')
},
'^oauth$': {
gettext: gettext('OAuth')
},
'^basic$': {
gettext: gettext('Basic')
},
'^Authentication method$': {
gettext: gettext('Authentication method')
},
'^Defines which authentication method is used with the provider$': {
gettext: gettext('Defines which authentication method is used with the provider')
},
'^Static headers$': {
gettext: gettext('Static headers')
},
'^Static headers that should be added to requests towards the provider$': {
gettext: gettext('Static headers that should be added to requests towards the provider')
},
'^OAuth token URL$': {
gettext: gettext('OAuth token URL')
},
'^URL where the OAuth token is requested from (required if OAuth method is chosen)$': {
gettext: gettext(
'URL where the OAuth token is requested from (required if OAuth method is selected)'
)
},
'^OAuth toke mime type$': {
gettext: gettext('OAuth token mime type')
},
'^Overrides the OAuth token response mime type$': {
gettext: gettext('Overrides the OAuth token response mime type')
},
'^OAuth access toke type$': {
gettext: gettext('OAuth access token type')
},
'^Overrides the OAuth access token type$': {
gettext: gettext('Overrides the OAuth access token type')
},
'^Global configuration$': {
gettext: gettext('Global configuration')
},
'^Enables or disables if the settings may be used globally for all tenants (Only possible in management tenant)$':
{
gettext: gettext(
'Enables or disables the settings globally for all tenants (only possible in management tenant)'
)
},
'^API key$': {
gettext: gettext('API key')
},
'^Inherit to subtenants$': {
gettext: gettext('Inherit to subtenants')
},
"^Enables or disables if this tenant's configuration may be inherited to subtenants$": {
gettext: gettext(
'Enables or disables the option to inherit the tenant configuration to subtenants'
)
},
'^Login$': {
gettext: gettext('Login')
},
'^Source business unit ID$': {
gettext: gettext('Source business unit ID')
},
'^Client ID$': {
gettext: gettext('Client ID')
},
'^Client secret$': {
gettext: gettext('Client secret')
}
}
|
minColumnGridTrackSize |
Type : number
|
Default value : 80
|
ratiosByColumnTypes |
Type : object
|
Default value : {
/** The width ration for icon column type. */
icon: 1,
/** The width ration for numeric column type. */
numeric: 1,
/** The width ration for short text column type. */
'text-short': 1.67,
/** The width ration for long text column type. */
'text-long': 3.33
}
|
Maps column types to relative widths. |
MO_TYPES |
Default value : [
'asset',
'dynamicGroup',
'brokerSource',
'brokerSourceInactive',
'group',
'other'
] as const
|
NAME |
Type : string
|
Default value : 'c8y.upgrade'
|
ng1Modules |
Type : []
|
Default value : ['app', NAME]
|
NEEDED_ROLE_FOR_SETUP |
Type : string
|
Default value : 'ROLE_APPLICATION_MANAGEMENT_ADMIN'
|
SETUP_FINISHED_STEP_ID |
Type : string
|
Default value : 'c8ySetupFinished'
|
NUMBER_FORMAT_REGEXP |
Default value : /^(\d+)?\.((\d+)(-(\d+))?)?$/
|
opcuaAddressSpaceTreeComponent |
Default value : downgradeComponent({
component: OpcuaAddressSpaceTreeComponent,
inputs: ['moId'],
outputs: ['selectedNode']
})
|
operationStatusClasses |
Type : object
|
Default value : {
[OperationStatus.PENDING]: 'text-info',
[OperationStatus.EXECUTING]: 'text-info',
[OperationStatus.SUCCESSFUL]: 'text-success',
[OperationStatus.FAILED]: 'text-danger'
}
|
operationStatusIcons |
Type : object
|
Default value : {
[OperationStatus.PENDING]: 'clock-o',
[OperationStatus.EXECUTING]: 'refresh',
[OperationStatus.SUCCESSFUL]: 'check-circle',
[OperationStatus.FAILED]: 'exclamation-circle'
}
|
statusAlert |
Type : object
|
Default value : {
[Status.SUCCESS]: `alert-${Status.SUCCESS}`,
[Status.WARNING]: `alert-${Status.WARNING}`,
[Status.DANGER]: `alert-${Status.DANGER}`,
[Status.INFO]: `alert-${Status.INFO}`
}
|
statusClasses |
Type : object
|
Default value : {
[Status.SUCCESS]: `text-${Status.SUCCESS}`,
[Status.WARNING]: `text-${Status.WARNING}`,
[Status.DANGER]: `text-${Status.DANGER}`,
[Status.INFO]: `text-${Status.INFO}`
}
|
statusIcons |
Type : object
|
Default value : {
[Status.SUCCESS]: 'check-circle',
[Status.WARNING]: 'exclamation-triangle',
[Status.DANGER]: 'exclamation-circle',
[Status.INFO]: 'info-circle'
}
|
pathToDatapointLibrary |
Type : string
|
Default value : 'datapointlibrary'
|
previewImage |
Type : string
|
Default value : ''
|
previewImage |
Type : string
|
Default value : ''
|
providers |
Type : any[]
|
Default value : (Object.keys(services).map((k) => toProvider(services[k])) as any[])
.concat([
{ provide: ApiService, useClass: ApiService, deps: [FetchClient] }
])
|
REPORT_DEFAULT_NAVIGATION_NODE_PRIORITY |
Type : number
|
Default value : 30
|
REPORTS_NAVIGATOR_NODE_PRIORITY |
Type : number
|
Default value : 40
|
reportsService |
Default value : downgradeInjectable(ReportsService)
|
REPOSITORY_BINARY_TYPES |
Type : object
|
Default value : {
[RepositoryType.SOFTWARE]: 'c8y_SoftwareBinary',
[RepositoryType.FIRMWARE]: 'c8y_FirmwareBinary',
[RepositoryType.CONFIGURATION]: 'c8y_ConfigurationDumpBinary'
}
|
rootComponent |
Type : object
|
Default value : {
template: `
<c8y-bootstrap>
<div id="c8y-legacy-view">
<div ng-view ng-if="vm.widthSet && vm.authState.hasAuth"></div>
</div>
</c8y-bootstrap>`,
controller: c8yUiRootController,
controllerAs: 'vm'
}
|
routes |
Type : Route[]
|
Default value : [
{
path: 'device',
component: DeviceListComponent
}
]
|
routes |
Type : Route[]
|
Default value : [
{
path: 'grids/device-grid',
component: DeviceGridExampleComponent,
canActivate: [DeviceGridExampleGuard]
}
]
|
routes |
Type : Route[]
|
Default value : [
{
path: 'devicecontrol',
redirectTo: 'devicecontrol/single',
pathMatch: 'full'
}
]
|
routes |
Type : Route[]
|
Default value : [
{
context: ViewContext.Device,
path: 'assign-protocol',
component: LpwanAssignDeviceProtocolComponent,
label: gettext('LPWAN'),
icon: 'c8y-device-protocols',
canActivate: [LpwanAgentGuard]
}
]
|
routes |
Type : Route[]
|
Default value : [{
path: 'users/new',
component: EmptyComponent
},
{
path: 'tenants/new',
component: EmptyComponent
}]
|
SERVICE_FRAGMENT |
Type : string
|
Default value : 'c8y_Service'
|
SERVICE_FRAGMENT |
Type : string
|
Default value : 'c8y_Service'
|
settingsRoutes |
Type : Route[]
|
Default value : [
{
path: 'connectivitySettings/multiple_lns_connectors_sigfox',
component: SigfoxMultipleLnsConnectorComponent
},
{
path: 'connectivitySettings/multiple_lns_connectors_actility',
component: ActilityMultipleLnsConnectorComponent
}
]
|
singleOperationListRoutes |
Type : Route[]
|
Default value : [
{
path: 'devicecontrol/single',
component: OperationsListComponent
}
]
|
smartRulesServiceProvider |
Type : object
|
Default value : {
provide: Ng1SmartRulesService,
useFactory: SmartRulesServiceFactory,
deps: ['$injector']
}
|
TENANTS_MODULE_CONFIG |
Default value : new InjectionToken<TenantsModuleConfig>('TenantsModuleConfig')
|
trustedCertificatesRoutes |
Type : Route[]
|
Default value : [
{
path: 'trusted-certificates',
component: TrustedCertificatesComponent
}
]
|
UPGRADE_ROUTES |
Type : []
|
Default value : [
{ path: '**', component: EmptyComponent}
]
|
zip |
Type : any
|