${metadataKey' +
- '} for value from metadata, $[messageKey' +
- '] for value from message body',
- 'cc-template': 'Cc Template',
- 'bcc-template': 'Bcc Template',
- 'subject-template': 'Subject Template',
- 'subject-template-required': 'Subject Template is required',
- 'body-template': 'Body Template',
- 'body-template-required': 'Body Template is required',
- 'dynamic-mail-body-type': 'Dynamic mail body type',
- 'mail-body-type': 'Mail body type',
- 'request-id-metadata-attribute': 'Request Id Metadata attribute name',
- 'timeout-sec': 'Timeout in seconds',
- 'timeout-required': 'Timeout is required',
- 'min-timeout-message': 'Only 0 minimum timeout value is allowed.',
- 'endpoint-url-pattern': 'Endpoint URL pattern',
- 'endpoint-url-pattern-required': 'Endpoint URL pattern is required',
- 'request-method': 'Request method',
- 'use-simple-client-http-factory': 'Use simple client HTTP factory',
- 'ignore-request-body': 'Without request body',
- 'read-timeout': 'Read timeout in millis',
- 'read-timeout-hint': 'The value of 0 means an infinite timeout',
- 'max-parallel-requests-count': 'Max number of parallel requests',
- 'max-parallel-requests-count-hint': 'The value of 0 specifies no limit in parallel processing',
- headers: 'Headers',
- 'headers-hint': 'Use ${metadataKey} ' +
- 'for value from metadata, $[messageKey] ' +
- 'for value from message body in header/value fields',
- header: 'Header',
- 'header-required': 'Header is required',
- value: 'Value',
- 'value-required': 'Value is required',
- 'topic-pattern': 'Topic pattern',
- 'topic-pattern-required': 'Topic pattern is required',
- topic: 'Topic',
- 'topic-required': 'Topic is required',
- 'bootstrap-servers': 'Bootstrap servers',
- 'bootstrap-servers-required': 'Bootstrap servers value is required',
- 'other-properties': 'Other properties',
- key: 'Key',
- 'key-required': 'Key is required',
- retries: 'Automatically retry times if fails',
- 'min-retries-message': 'Only 0 minimum retries is allowed.',
- 'batch-size-bytes': 'Produces batch size in bytes',
- 'min-batch-size-bytes-message': 'Only 0 minimum batch size is allowed.',
- 'linger-ms': 'Time to buffer locally (ms)',
- 'min-linger-ms-message': 'Only 0 ms minimum value is allowed.',
- 'buffer-memory-bytes': 'Client buffer max size in bytes',
- 'min-buffer-memory-message': 'Only 0 minimum buffer size is allowed.',
- acks: 'Number of acknowledgments',
- 'key-serializer': 'Key serializer',
- 'key-serializer-required': 'Key serializer is required',
- 'value-serializer': 'Value serializer',
- 'value-serializer-required': 'Value serializer is required',
- 'topic-arn-pattern': 'Topic ARN pattern',
- 'topic-arn-pattern-required': 'Topic ARN pattern is required',
- 'aws-access-key-id': 'AWS Access Key ID',
- 'aws-access-key-id-required': 'AWS Access Key ID is required',
- 'aws-secret-access-key': 'AWS Secret Access Key',
- 'aws-secret-access-key-required': 'AWS Secret Access Key is required',
- 'aws-region': 'AWS Region',
- 'aws-region-required': 'AWS Region is required',
- 'exchange-name-pattern': 'Exchange name pattern',
- 'routing-key-pattern': 'Routing key pattern',
- 'message-properties': 'Message properties',
- host: 'Host',
- 'host-required': 'Host is required',
- port: 'Port',
- 'port-required': 'Port is required',
- 'port-range': 'Port should be in a range from 1 to 65535.',
- 'virtual-host': 'Virtual host',
- username: 'Username',
- password: 'Password',
- 'automatic-recovery': 'Automatic recovery',
- 'connection-timeout-ms': 'Connection timeout (ms)',
- 'min-connection-timeout-ms-message': 'Only 0 ms minimum value is allowed.',
- 'handshake-timeout-ms': 'Handshake timeout (ms)',
- 'min-handshake-timeout-ms-message': 'Only 0 ms minimum value is allowed.',
- 'client-properties': 'Client properties',
- 'queue-url-pattern': 'Queue URL pattern',
- 'queue-url-pattern-required': 'Queue URL pattern is required',
- 'delay-seconds': 'Delay (seconds)',
- 'min-delay-seconds-message': 'Only 0 seconds minimum value is allowed.',
- 'max-delay-seconds-message': 'Only 900 seconds maximum value is allowed.',
- name: 'Name',
- 'name-required': 'Name is required',
- 'queue-type': 'Queue type',
- 'sqs-queue-standard': 'Standard',
- 'sqs-queue-fifo': 'FIFO',
- 'gcp-project-id': 'GCP project ID',
- 'gcp-project-id-required': 'GCP project ID is required',
- 'gcp-service-account-key': 'GCP service account key file',
- 'gcp-service-account-key-required': 'GCP service account key file is required',
- 'pubsub-topic-name': 'Topic name',
- 'pubsub-topic-name-required': 'Topic name is required',
- 'message-attributes': 'Message attributes',
- 'message-attributes-hint': 'Use ${metadataKey} ' +
- 'for value from metadata, $[messageKey] ' +
- 'for value from message body in name/value fields',
- 'connect-timeout': 'Connection timeout (sec)',
- 'connect-timeout-required': 'Connection timeout is required.',
- 'connect-timeout-range': 'Connection timeout should be in a range from 1 to 200.',
- 'client-id': 'Client ID',
- 'client-id-hint': 'Hint: Optional. Leave empty for auto-generated client id. Be careful when specifying the Client ID.' +
- 'Majority of the MQTT brokers will not allow multiple connections with the same client id. ' +
- 'To connect to such brokers, your mqtt client id must be unique. ' +
- 'When platform is running in a micro-services mode, the copy of rule nodeis launched in each micro-service. ' +
- 'This will automatically lead to multiple mqtt clients with the same id and may cause failures of the rule node.',
- 'device-id': 'Device ID',
- 'device-id-required': 'Device ID is required.',
- 'clean-session': 'Clean session',
- 'enable-ssl': 'Enable SSL',
- credentials: 'Credentials',
- 'credentials-type': 'Credentials type',
- 'credentials-type-required': 'Credentials type is required.',
- 'credentials-anonymous': 'Anonymous',
- 'credentials-basic': 'Basic',
- 'credentials-pem': 'PEM',
- 'credentials-pem-hint': 'At least Server CA certificate file or a pair of Client certificate and Client private key files are required',
- 'credentials-sas': 'Shared Access Signature',
- 'sas-key': 'SAS Key',
- 'sas-key-required': 'SAS Key is required.',
- hostname: 'Hostname',
- 'hostname-required': 'Hostname is required.',
- 'azure-ca-cert': 'CA certificate file',
- 'username-required': 'Username is required.',
- 'password-required': 'Password is required.',
- 'ca-cert': 'Server CA certificate file *',
- 'private-key': 'Client private key file *',
- cert: 'Client certificate file *',
- 'no-file': 'No file selected.',
- 'drop-file': 'Drop a file or click to select a file to upload.',
- 'private-key-password': 'Private key password',
- 'use-system-smtp-settings': 'Use system SMTP settings',
- 'use-metadata-interval-patterns': 'Use interval patterns',
- 'use-metadata-interval-patterns-hint': 'If selected, rule node use start and end interval patterns from message metadata or data ' +
- 'assuming that intervals are in the milliseconds.',
- 'use-message-alarm-data': 'Use message alarm data',
- 'use-dynamically-change-the-severity-of-alar': 'Use dynamically change the severity of alarm',
- 'check-all-keys': 'Check that all selected keys are present',
- 'check-all-keys-hint': 'If selected, checks that all specified keys are present in the message data and metadata.',
- 'check-relation-to-specific-entity': 'Check relation to specific entity',
- 'check-relation-hint': 'Checks existence of relation to specific entity or to any entity based on direction and relation type.',
- 'delete-relation-to-specific-entity': 'Delete relation to specific entity',
- 'delete-relation-hint': 'Deletes relation from the originator of the incoming message to the specified ' +
- 'entity or list of entities based on direction and type.',
- 'remove-current-relations': 'Remove current relations',
- 'remove-current-relations-hint': 'Removes current relations from the originator of the incoming message based on direction and type.',
- 'change-originator-to-related-entity': 'Change originator to related entity',
- 'change-originator-to-related-entity-hint': 'Used to process submitted message as a message from another entity.',
- 'start-interval-pattern': 'Start interval pattern',
- 'end-interval-pattern': 'End interval pattern',
- 'start-interval-pattern-required': 'Start interval pattern is required',
- 'end-interval-pattern-required': 'End interval pattern is required',
- 'smtp-protocol': 'Protocol',
- 'smtp-host': 'SMTP host',
- 'smtp-host-required': 'SMTP host is required.',
- 'smtp-port': 'SMTP port',
- 'smtp-port-required': 'You must supply a smtp port.',
- 'smtp-port-range': 'SMTP port should be in a range from 1 to 65535.',
- 'timeout-msec': 'Timeout ms',
- 'min-timeout-msec-message': 'Only 0 ms minimum value is allowed.',
- 'enter-username': 'Enter username',
- 'enter-password': 'Enter password',
- 'enable-tls': 'Enable TLS',
- 'tls-version': 'TLS version',
- 'enable-proxy': 'Enable proxy',
- 'use-system-proxy-properties': 'Use system proxy properties',
- 'proxy-host': 'Proxy host',
- 'proxy-host-required': 'Proxy host is required.',
- 'proxy-port': 'Proxy port',
- 'proxy-port-required': 'Proxy port is required.',
- 'proxy-port-range': 'Proxy port should be in a range from 1 to 65535.',
- 'proxy-user': 'Proxy user',
- 'proxy-password': 'Proxy password',
- 'proxy-scheme': 'Proxy scheme',
- 'numbers-to-template': 'Phone Numbers To Template',
- 'numbers-to-template-required': 'Phone Numbers To Template is required',
- 'numbers-to-template-hint': 'Comma separated Phone Numbers, use ${' +
- 'metadataKey} for value from metadata, ' +
- '$[messageKey] for value from message body',
- 'sms-message-template': 'SMS message Template',
- 'sms-message-template-required': 'SMS message Template is required',
- 'use-system-sms-settings': 'Use system SMS provider settings',
- 'min-period-0-seconds-message': 'Only 0 second minimum period is allowed.',
- 'max-pending-messages': 'Maximum pending messages',
- 'max-pending-messages-required': 'Maximum pending messages is required.',
- 'max-pending-messages-range': 'Maximum pending messages should be in a range from 1 to 100000.',
- 'originator-types-filter': 'Originator types filter',
- 'interval-seconds': 'Interval in seconds',
- 'interval-seconds-required': 'Interval is required.',
- 'min-interval-seconds-message': 'Only 1 second minimum interval is allowed.',
- 'output-timeseries-key-prefix': 'Output timeseries key prefix',
- 'output-timeseries-key-prefix-required': 'Output timeseries key prefix required.',
- 'separator-hint': 'You should press "enter" to complete field input.',
- 'entity-details': 'Select entity details:',
- 'entity-details-title': 'Title',
- 'entity-details-country': 'Country',
- 'entity-details-state': 'State',
- 'entity-details-city': 'City',
- 'entity-details-zip': 'Zip',
- 'entity-details-address': 'Address',
- 'entity-details-address2': 'Address2',
- 'entity-details-additional_info': 'Additional Info',
- 'entity-details-phone': 'Phone',
- 'entity-details-email': 'Email',
- 'add-to-metadata': 'Add selected details to message metadata',
- 'add-to-metadata-hint': 'If selected, adds the selected details keys to the message metadata instead of message data.',
- 'entity-details-list-empty': 'No entity details selected.',
- 'no-entity-details-matching': 'No entity details matching were found.',
- 'custom-table-name': 'Custom table name',
- 'custom-table-name-required': 'Table Name is required',
- 'custom-table-hint': 'You should enter the table name without prefix \'cs_tb_\'.',
- 'message-field': 'Message field',
- 'message-field-required': 'Message field is required.',
- 'table-col': 'Table column',
- 'table-col-required': 'Table column is required.',
- 'latitude-key-name': 'Latitude key name',
- 'longitude-key-name': 'Longitude key name',
- 'latitude-key-name-required': 'Latitude key name is required.',
- 'longitude-key-name-required': 'Longitude key name is required.',
- 'fetch-perimeter-info-from-message-metadata': 'Fetch perimeter information from message metadata',
- 'perimeter-circle': 'Circle',
- 'perimeter-polygon': 'Polygon',
- 'perimeter-type': 'Perimeter type',
- 'circle-center-latitude': 'Center latitude',
- 'circle-center-latitude-required': 'Center latitude is required.',
- 'circle-center-longitude': 'Center longitude',
- 'circle-center-longitude-required': 'Center longitude is required.',
- 'range-unit-meter': 'Meter',
- 'range-unit-kilometer': 'Kilometer',
- 'range-unit-foot': 'Foot',
- 'range-unit-mile': 'Mile',
- 'range-unit-nautical-mile': 'Nautical mile',
- 'range-units': 'Range units',
- range: 'Range',
- 'range-required': 'Range is required.',
- 'polygon-definition': 'Polygon definition',
- 'polygon-definition-required': 'Polygon definition is required.',
- 'polygon-definition-hint': 'Please, use the following format for manual definition of polygon: [[lat1,lon1],[lat2,lon2], ... ,[latN,lonN]].',
- 'min-inside-duration': 'Minimal inside duration',
- 'min-inside-duration-value-required': 'Minimal inside duration is required',
- 'min-inside-duration-time-unit': 'Minimal inside duration time unit',
- 'min-outside-duration': 'Minimal outside duration',
- 'min-outside-duration-value-required': 'Minimal outside duration is required',
- 'min-outside-duration-time-unit': 'Minimal outside duration time unit',
- 'tell-failure-if-absent': 'Tell Failure',
- 'tell-failure-if-absent-hint': 'If at least one selected key doesn\'t exist the outbound message will report "Failure".',
- 'get-latest-value-with-ts': 'Fetch Latest telemetry with Timestamp',
- 'get-latest-value-with-ts-hint': 'If selected, latest telemetry values will be added to the outbound message metadata with timestamp, ' +
- 'e.g: "temp": "{"ts":1574329385897, "value":42}"',
- 'use-redis-queue': 'Use redis queue for message persistence',
- 'trim-redis-queue': 'Trim redis queue',
- 'redis-queue-max-size': 'Redis queue max size',
- 'add-metadata-key-values-as-kafka-headers': 'Add Message metadata key-value pairs to Kafka record headers',
- 'add-metadata-key-values-as-kafka-headers-hint': 'If selected, key-value pairs from message metadata will be added to the outgoing records headers as byte arrays with predefined charset encoding.',
- 'charset-encoding': 'Charset encoding',
- 'charset-encoding-required': 'Charset encoding is required.',
- 'charset-us-ascii': 'US-ASCII',
- 'charset-iso-8859-1': 'ISO-8859-1',
- 'charset-utf-8': 'UTF-8',
- 'charset-utf-16be': 'UTF-16BE',
- 'charset-utf-16le': 'UTF-16LE',
- 'charset-utf-16': 'UTF-16',
- 'select-queue-hint': 'The queue name can be selected from a drop-down list or add a custom name.',
- 'persist-alarm-rules': 'Persist state of alarm rules',
- 'fetch-alarm-rules': 'Fetch state of alarm rules',
- 'input-value-key': 'Input value key',
- 'input-value-key-required': 'Input value key is required.',
- 'output-value-key': 'Output value key',
- 'output-value-key-required': 'Output value key is required.',
- round: 'Decimals',
- 'round-range': 'Decimals should be in a range from 0 to 15.',
- 'use-cache': 'Use cache for latest value',
- 'tell-failure-if-delta-is-negative': 'Tell Failure if delta is negative',
- 'add-period-between-msgs': 'Add period between messages',
- 'period-value-key': 'Period value key',
- 'period-key-required': 'Period value key is required.',
- 'general-pattern-hint': 'Hint: use ${metadataKey} ' +
- 'for value from metadata, $[messageKey] ' +
- 'for value from message body',
- 'alarm-severity-pattern-hint': 'Hint: use ${metadataKey} ' +
- 'for value from metadata, $[messageKey] ' +
- 'for value from message body. Alarm severity should be system (CRITICAL, MAJOR etc.)',
- 'output-node-name-hint': 'The rule node name corresponds to the relation type of the output message, and it is used to forward messages to other rule nodes in the caller rule chain.'
- },
- 'key-val': {
- key: 'Key',
- value: 'Value',
- 'remove-entry': 'Remove entry',
- 'add-entry': 'Add entry'
- },
- 'mail-body-type': {
- 'plain-text': 'Plain Text',
- html: 'HTML',
- dynamic: 'Dynamic'
- }
- }
- };
- translate.setTranslation('en_US', enUS, true);
-}
-
-class RuleNodeCoreConfigModule {
- constructor(translate) {
- addRuleNodeCoreLocaleEnglish(translate);
- }
-}
-RuleNodeCoreConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: RuleNodeCoreConfigModule, deps: [{ token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.NgModule });
-RuleNodeCoreConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: RuleNodeCoreConfigModule, declarations: [EmptyConfigComponent], imports: [CommonModule,
- SharedModule], exports: [RuleNodeCoreConfigActionModule,
- RuleNodeCoreConfigFilterModule,
- RulenodeCoreConfigEnrichmentModule,
- RulenodeCoreConfigTransformModule,
- RuleNodeCoreConfigFlowModule,
- EmptyConfigComponent] });
-RuleNodeCoreConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: RuleNodeCoreConfigModule, imports: [[
- CommonModule,
- SharedModule
- ], RuleNodeCoreConfigActionModule,
- RuleNodeCoreConfigFilterModule,
- RulenodeCoreConfigEnrichmentModule,
- RulenodeCoreConfigTransformModule,
- RuleNodeCoreConfigFlowModule] });
-i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.14", ngImport: i0, type: RuleNodeCoreConfigModule, decorators: [{
- type: NgModule,
- args: [{
- declarations: [
- EmptyConfigComponent
- ],
- imports: [
- CommonModule,
- SharedModule
- ],
- exports: [
- RuleNodeCoreConfigActionModule,
- RuleNodeCoreConfigFilterModule,
- RulenodeCoreConfigEnrichmentModule,
- RulenodeCoreConfigTransformModule,
- RuleNodeCoreConfigFlowModule,
- EmptyConfigComponent
- ]
- }]
- }], ctorParameters: function () { return [{ type: i4.TranslateService }]; } });
-
-/*
- * Public API Surface of rule-core-config
- */
-
-/**
- * Generated bundle index. Do not edit.
- */
-
-export { AssignCustomerConfigComponent, AttributesConfigComponent, AzureIotHubConfigComponent, CalculateDeltaConfigComponent, ChangeOriginatorConfigComponent, CheckAlarmStatusComponent, CheckMessageConfigComponent, CheckPointConfigComponent, CheckRelationConfigComponent, ClearAlarmConfigComponent, CreateAlarmConfigComponent, CreateRelationConfigComponent, CredentialsConfigComponent, CustomerAttributesConfigComponent, DeleteRelationConfigComponent, DeviceAttributesConfigComponent, DeviceProfileConfigComponent, DeviceRelationsQueryConfigComponent, EmptyConfigComponent, EntityDetailsConfigComponent, GeneratorConfigComponent, GetTelemetryFromDatabaseConfigComponent, GpsGeoActionConfigComponent, GpsGeoFilterConfigComponent, KafkaConfigComponent, KvMapConfigComponent, LogConfigComponent, MessageTypeConfigComponent, MessageTypesConfigComponent, MqttConfigComponent, MsgCountConfigComponent, MsgDelayConfigComponent, OriginatorAttributesConfigComponent, OriginatorFieldsConfigComponent, OriginatorTypeConfigComponent, PubSubConfigComponent, PushToCloudConfigComponent, PushToEdgeConfigComponent, RabbitMqConfigComponent, RelatedAttributesConfigComponent, RelationsQueryConfigComponent, RestApiCallConfigComponent, RpcReplyConfigComponent, RpcRequestConfigComponent, RuleChainInputComponent, RuleChainOutputComponent, RuleNodeCoreConfigActionModule, RuleNodeCoreConfigFilterModule, RuleNodeCoreConfigFlowModule, RuleNodeCoreConfigModule, RulenodeCoreConfigCommonModule, RulenodeCoreConfigEnrichmentModule, RulenodeCoreConfigTransformModule, SafeHtmlPipe, SaveToCustomTableConfigComponent, ScriptConfigComponent, SendEmailConfigComponent, SendSmsConfigComponent, SnsConfigComponent, SqsConfigComponent, SwitchConfigComponent, TenantAttributesConfigComponent, TimeseriesConfigComponent, ToEmailConfigComponent, TransformScriptConfigComponent, UnassignCustomerConfigComponent };
-//# sourceMappingURL=rulenode-core-config.js.map
+import*as e from"@angular/core";import{Component as t,Pipe as o,ViewChild as r,forwardRef as a,Input as n,NgModule as l}from"@angular/core";import*as i from"@shared/public-api";import{RuleNodeConfigurationComponent as s,AttributeScope as m,telemetryTypeTranslations as u,ServiceType as p,AlarmSeverity as d,alarmSeverityTranslations as f,EntitySearchDirection as c,entitySearchDirectionTranslations as g,EntityType as x,PageComponent as y,MessageType as b,messageTypeNames as h,SharedModule as F,AggregationType as C,aggregationTranslations as L,alarmStatusTranslations as v,AlarmStatus as I}from"@shared/public-api";import*as N from"@ngrx/store";import*as q from"@angular/forms";import{Validators as T,NgControl as k,NG_VALUE_ACCESSOR as M,NG_VALIDATORS as S,FormControl as A}from"@angular/forms";import*as G from"@angular/material/form-field";import*as D from"@angular/material/checkbox";import*as V from"@angular/flex-layout/flex";import*as E from"@ngx-translate/core";import*as P from"@angular/material/input";import*as R from"@angular/common";import{CommonModule as w}from"@angular/common";import*as O from"@angular/platform-browser";import*as H from"@angular/material/select";import*as U from"@angular/material/core";import*as B from"@angular/material/expansion";import*as K from"@shared/components/button/toggle-password.component";import*as j from"@shared/components/file-input.component";import*as z from"@shared/components/queue/queue-type-list.component";import*as _ from"@core/public-api";import{isDefinedAndNotNull as Q}from"@core/public-api";import*as $ from"@shared/components/js-func.component";import*as W from"@angular/material/button";import{ENTER as Y,COMMA as J,SEMICOLON as Z}from"@angular/cdk/keycodes";import*as X from"@angular/material/chips";import*as ee from"@angular/material/icon";import*as te from"@shared/components/entity/entity-type-select.component";import*as oe from"@shared/components/entity/entity-select.component";import{coerceBooleanProperty as re}from"@angular/cdk/coercion";import*as ae from"@shared/components/tb-error.component";import*as ne from"@angular/flex-layout/extended";import*as le from"@angular/material/tooltip";import{distinctUntilChanged as ie,startWith as se,map as me,mergeMap as ue,share as pe}from"rxjs/operators";import*as de from"@shared/components/tb-checkbox.component";import*as fe from"@home/components/sms/sms-provider-configuration.component";import{HomeComponentsModule as ce}from"@home/components/public-api";import*as ge from"@shared/components/relation/relation-type-autocomplete.component";import*as xe from"@shared/components/entity/entity-subtype-list.component";import*as ye from"@home/components/relation/relation-filters.component";import{of as be}from"rxjs";import*as he from"@angular/material/autocomplete";import*as Fe from"@shared/pipe/highlight.pipe";import*as Ce from"@shared/components/entity/entity-autocomplete.component";import*as Le from"@shared/components/entity/entity-type-list.component";class ve extends s{constructor(e,t){super(e),this.store=e,this.fb=t}configForm(){return this.emptyConfigForm}onConfigurationSet(e){this.emptyConfigForm=this.fb.group({})}}ve.ɵfac=e.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.15",ngImport:e,type:ve,deps:[{token:N.Store},{token:q.FormBuilder}],target:e.ɵɵFactoryTarget.Component}),ve.ɵcmp=e.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.15",type:ve,selector:"tb-node-empty-config",usesInheritance:!0,ngImport:e,template:"",isInline:!0}),e.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.15",ngImport:e,type:ve,decorators:[{type:t,args:[{selector:"tb-node-empty-config",template:"",styleUrls:[]}]}],ctorParameters:function(){return[{type:N.Store},{type:q.FormBuilder}]}});class Ie{constructor(e){this.sanitizer=e}transform(e){return this.sanitizer.bypassSecurityTrustHtml(e)}}Ie.ɵfac=e.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.15",ngImport:e,type:Ie,deps:[{token:O.DomSanitizer}],target:e.ɵɵFactoryTarget.Pipe}),Ie.ɵpipe=e.ɵɵngDeclarePipe({minVersion:"12.0.0",version:"12.2.15",ngImport:e,type:Ie,name:"safeHtml"}),e.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.15",ngImport:e,type:Ie,decorators:[{type:o,args:[{name:"safeHtml"}]}],ctorParameters:function(){return[{type:O.DomSanitizer}]}});class Ne extends s{constructor(e,t){super(e),this.store=e,this.fb=t}configForm(){return this.assignCustomerConfigForm}onConfigurationSet(e){this.assignCustomerConfigForm=this.fb.group({customerNamePattern:[e?e.customerNamePattern:null,[T.required,T.pattern(/.*\S.*/)]],createCustomerIfNotExists:[!!e&&e.createCustomerIfNotExists,[]],customerCacheExpiration:[e?e.customerCacheExpiration:null,[T.required,T.min(0)]]})}prepareOutputConfig(e){return e.customerNamePattern=e.customerNamePattern.trim(),e}}Ne.ɵfac=e.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.15",ngImport:e,type:Ne,deps:[{token:N.Store},{token:q.FormBuilder}],target:e.ɵɵFactoryTarget.Component}),Ne.ɵcmp=e.ɵɵngDeclareComponent({minVersion:"12.0.0",version:"12.2.15",type:Ne,selector:"tb-action-node-assign-to-customer-config",usesInheritance:!0,ngImport:e,template:'${metadataKey} for value from metadata, $[messageKey] for value from message body',"cc-template":"Cc Template","bcc-template":"Bcc Template","subject-template":"Subject Template","subject-template-required":"Subject Template is required","body-template":"Body Template","body-template-required":"Body Template is required","dynamic-mail-body-type":"Dynamic mail body type","mail-body-type":"Mail body type","request-id-metadata-attribute":"Request Id Metadata attribute name","timeout-sec":"Timeout in seconds","timeout-required":"Timeout is required","min-timeout-message":"Only 0 minimum timeout value is allowed.","endpoint-url-pattern":"Endpoint URL pattern","endpoint-url-pattern-required":"Endpoint URL pattern is required","request-method":"Request method","use-simple-client-http-factory":"Use simple client HTTP factory","ignore-request-body":"Without request body","read-timeout":"Read timeout in millis","read-timeout-hint":"The value of 0 means an infinite timeout","max-parallel-requests-count":"Max number of parallel requests","max-parallel-requests-count-hint":"The value of 0 specifies no limit in parallel processing",headers:"Headers","headers-hint":'Use ${metadataKey} for value from metadata, $[messageKey] for value from message body in header/value fields',header:"Header","header-required":"Header is required",value:"Value","value-required":"Value is required","topic-pattern":"Topic pattern","topic-pattern-required":"Topic pattern is required",topic:"Topic","topic-required":"Topic is required","bootstrap-servers":"Bootstrap servers","bootstrap-servers-required":"Bootstrap servers value is required","other-properties":"Other properties",key:"Key","key-required":"Key is required",retries:"Automatically retry times if fails","min-retries-message":"Only 0 minimum retries is allowed.","batch-size-bytes":"Produces batch size in bytes","min-batch-size-bytes-message":"Only 0 minimum batch size is allowed.","linger-ms":"Time to buffer locally (ms)","min-linger-ms-message":"Only 0 ms minimum value is allowed.","buffer-memory-bytes":"Client buffer max size in bytes","min-buffer-memory-message":"Only 0 minimum buffer size is allowed.",acks:"Number of acknowledgments","key-serializer":"Key serializer","key-serializer-required":"Key serializer is required","value-serializer":"Value serializer","value-serializer-required":"Value serializer is required","topic-arn-pattern":"Topic ARN pattern","topic-arn-pattern-required":"Topic ARN pattern is required","aws-access-key-id":"AWS Access Key ID","aws-access-key-id-required":"AWS Access Key ID is required","aws-secret-access-key":"AWS Secret Access Key","aws-secret-access-key-required":"AWS Secret Access Key is required","aws-region":"AWS Region","aws-region-required":"AWS Region is required","exchange-name-pattern":"Exchange name pattern","routing-key-pattern":"Routing key pattern","message-properties":"Message properties",host:"Host","host-required":"Host is required",port:"Port","port-required":"Port is required","port-range":"Port should be in a range from 1 to 65535.","virtual-host":"Virtual host",username:"Username",password:"Password","automatic-recovery":"Automatic recovery","connection-timeout-ms":"Connection timeout (ms)","min-connection-timeout-ms-message":"Only 0 ms minimum value is allowed.","handshake-timeout-ms":"Handshake timeout (ms)","min-handshake-timeout-ms-message":"Only 0 ms minimum value is allowed.","client-properties":"Client properties","queue-url-pattern":"Queue URL pattern","queue-url-pattern-required":"Queue URL pattern is required","delay-seconds":"Delay (seconds)","min-delay-seconds-message":"Only 0 seconds minimum value is allowed.","max-delay-seconds-message":"Only 900 seconds maximum value is allowed.",name:"Name","name-required":"Name is required","queue-type":"Queue type","sqs-queue-standard":"Standard","sqs-queue-fifo":"FIFO","gcp-project-id":"GCP project ID","gcp-project-id-required":"GCP project ID is required","gcp-service-account-key":"GCP service account key file","gcp-service-account-key-required":"GCP service account key file is required","pubsub-topic-name":"Topic name","pubsub-topic-name-required":"Topic name is required","message-attributes":"Message attributes","message-attributes-hint":'Use ${metadataKey} for value from metadata, $[messageKey] for value from message body in name/value fields',"connect-timeout":"Connection timeout (sec)","connect-timeout-required":"Connection timeout is required.","connect-timeout-range":"Connection timeout should be in a range from 1 to 200.","client-id":"Client ID","client-id-hint":"Hint: Optional. Leave empty for auto-generated client id. Be careful when specifying the Client ID.Majority of the MQTT brokers will not allow multiple connections with the same client id. To connect to such brokers, your mqtt client id must be unique. When platform is running in a micro-services mode, the copy of rule nodeis launched in each micro-service. This will automatically lead to multiple mqtt clients with the same id and may cause failures of the rule node.","device-id":"Device ID","device-id-required":"Device ID is required.","clean-session":"Clean session","enable-ssl":"Enable SSL",credentials:"Credentials","credentials-type":"Credentials type","credentials-type-required":"Credentials type is required.","credentials-anonymous":"Anonymous","credentials-basic":"Basic","credentials-pem":"PEM","credentials-pem-hint":"At least Server CA certificate file or a pair of Client certificate and Client private key files are required","credentials-sas":"Shared Access Signature","sas-key":"SAS Key","sas-key-required":"SAS Key is required.",hostname:"Hostname","hostname-required":"Hostname is required.","azure-ca-cert":"CA certificate file","username-required":"Username is required.","password-required":"Password is required.","ca-cert":"Server CA certificate file *","private-key":"Client private key file *",cert:"Client certificate file *","no-file":"No file selected.","drop-file":"Drop a file or click to select a file to upload.","private-key-password":"Private key password","use-system-smtp-settings":"Use system SMTP settings","use-metadata-interval-patterns":"Use interval patterns","use-metadata-interval-patterns-hint":"If selected, rule node use start and end interval patterns from message metadata or data assuming that intervals are in the milliseconds.","use-message-alarm-data":"Use message alarm data","use-dynamically-change-the-severity-of-alar":"Use dynamically change the severity of alarm","check-all-keys":"Check that all selected keys are present","check-all-keys-hint":"If selected, checks that all specified keys are present in the message data and metadata.","check-relation-to-specific-entity":"Check relation to specific entity","check-relation-hint":"Checks existence of relation to specific entity or to any entity based on direction and relation type.","delete-relation-to-specific-entity":"Delete relation to specific entity","delete-relation-hint":"Deletes relation from the originator of the incoming message to the specified entity or list of entities based on direction and type.","remove-current-relations":"Remove current relations","remove-current-relations-hint":"Removes current relations from the originator of the incoming message based on direction and type.","change-originator-to-related-entity":"Change originator to related entity","change-originator-to-related-entity-hint":"Used to process submitted message as a message from another entity.","start-interval-pattern":"Start interval pattern","end-interval-pattern":"End interval pattern","start-interval-pattern-required":"Start interval pattern is required","end-interval-pattern-required":"End interval pattern is required","smtp-protocol":"Protocol","smtp-host":"SMTP host","smtp-host-required":"SMTP host is required.","smtp-port":"SMTP port","smtp-port-required":"You must supply a smtp port.","smtp-port-range":"SMTP port should be in a range from 1 to 65535.","timeout-msec":"Timeout ms","min-timeout-msec-message":"Only 0 ms minimum value is allowed.","enter-username":"Enter username","enter-password":"Enter password","enable-tls":"Enable TLS","tls-version":"TLS version","enable-proxy":"Enable proxy","use-system-proxy-properties":"Use system proxy properties","proxy-host":"Proxy host","proxy-host-required":"Proxy host is required.","proxy-port":"Proxy port","proxy-port-required":"Proxy port is required.","proxy-port-range":"Proxy port should be in a range from 1 to 65535.","proxy-user":"Proxy user","proxy-password":"Proxy password","proxy-scheme":"Proxy scheme","numbers-to-template":"Phone Numbers To Template","numbers-to-template-required":"Phone Numbers To Template is required","numbers-to-template-hint":'Comma separated Phone Numbers, use ${metadataKey} for value from metadata, $[messageKey] for value from message body',"sms-message-template":"SMS message Template","sms-message-template-required":"SMS message Template is required","use-system-sms-settings":"Use system SMS provider settings","min-period-0-seconds-message":"Only 0 second minimum period is allowed.","max-pending-messages":"Maximum pending messages","max-pending-messages-required":"Maximum pending messages is required.","max-pending-messages-range":"Maximum pending messages should be in a range from 1 to 100000.","originator-types-filter":"Originator types filter","interval-seconds":"Interval in seconds","interval-seconds-required":"Interval is required.","min-interval-seconds-message":"Only 1 second minimum interval is allowed.","output-timeseries-key-prefix":"Output timeseries key prefix","output-timeseries-key-prefix-required":"Output timeseries key prefix required.","separator-hint":'You should press "enter" to complete field input.',"entity-details":"Select entity details:","entity-details-title":"Title","entity-details-country":"Country","entity-details-state":"State","entity-details-city":"City","entity-details-zip":"Zip","entity-details-address":"Address","entity-details-address2":"Address2","entity-details-additional_info":"Additional Info","entity-details-phone":"Phone","entity-details-email":"Email","add-to-metadata":"Add selected details to message metadata","add-to-metadata-hint":"If selected, adds the selected details keys to the message metadata instead of message data.","entity-details-list-empty":"No entity details selected.","no-entity-details-matching":"No entity details matching were found.","custom-table-name":"Custom table name","custom-table-name-required":"Table Name is required","custom-table-hint":"You should enter the table name without prefix 'cs_tb_'.","message-field":"Message field","message-field-required":"Message field is required.","table-col":"Table column","table-col-required":"Table column is required.","latitude-key-name":"Latitude key name","longitude-key-name":"Longitude key name","latitude-key-name-required":"Latitude key name is required.","longitude-key-name-required":"Longitude key name is required.","fetch-perimeter-info-from-message-metadata":"Fetch perimeter information from message metadata","perimeter-circle":"Circle","perimeter-polygon":"Polygon","perimeter-type":"Perimeter type","circle-center-latitude":"Center latitude","circle-center-latitude-required":"Center latitude is required.","circle-center-longitude":"Center longitude","circle-center-longitude-required":"Center longitude is required.","range-unit-meter":"Meter","range-unit-kilometer":"Kilometer","range-unit-foot":"Foot","range-unit-mile":"Mile","range-unit-nautical-mile":"Nautical mile","range-units":"Range units",range:"Range","range-required":"Range is required.","polygon-definition":"Polygon definition","polygon-definition-required":"Polygon definition is required.","polygon-definition-hint":"Please, use the following format for manual definition of polygon: [[lat1,lon1],[lat2,lon2], ... ,[latN,lonN]].","min-inside-duration":"Minimal inside duration","min-inside-duration-value-required":"Minimal inside duration is required","min-inside-duration-time-unit":"Minimal inside duration time unit","min-outside-duration":"Minimal outside duration","min-outside-duration-value-required":"Minimal outside duration is required","min-outside-duration-time-unit":"Minimal outside duration time unit","tell-failure-if-absent":"Tell Failure","tell-failure-if-absent-hint":'If at least one selected key doesn\'t exist the outbound message will report "Failure".',"get-latest-value-with-ts":"Fetch Latest telemetry with Timestamp","get-latest-value-with-ts-hint":'If selected, latest telemetry values will be added to the outbound message metadata with timestamp, e.g: "temp": "{"ts":1574329385897, "value":42}"',"use-redis-queue":"Use redis queue for message persistence","trim-redis-queue":"Trim redis queue","redis-queue-max-size":"Redis queue max size","add-metadata-key-values-as-kafka-headers":"Add Message metadata key-value pairs to Kafka record headers","add-metadata-key-values-as-kafka-headers-hint":"If selected, key-value pairs from message metadata will be added to the outgoing records headers as byte arrays with predefined charset encoding.","charset-encoding":"Charset encoding","charset-encoding-required":"Charset encoding is required.","charset-us-ascii":"US-ASCII","charset-iso-8859-1":"ISO-8859-1","charset-utf-8":"UTF-8","charset-utf-16be":"UTF-16BE","charset-utf-16le":"UTF-16LE","charset-utf-16":"UTF-16","select-queue-hint":"The queue name can be selected from a drop-down list or add a custom name.","persist-alarm-rules":"Persist state of alarm rules","fetch-alarm-rules":"Fetch state of alarm rules","input-value-key":"Input value key","input-value-key-required":"Input value key is required.","output-value-key":"Output value key","output-value-key-required":"Output value key is required.",round:"Decimals","round-range":"Decimals should be in a range from 0 to 15.","use-cache":"Use cache for latest value","tell-failure-if-delta-is-negative":"Tell Failure if delta is negative","add-period-between-msgs":"Add period between messages","period-value-key":"Period value key","period-key-required":"Period value key is required.","general-pattern-hint":'Hint: use ${metadataKey} for value from metadata, $[messageKey] for value from message body',"alarm-severity-pattern-hint":'Hint: use ${metadataKey} for value from metadata, $[messageKey] for value from message body. Alarm severity should be system (CRITICAL, MAJOR etc.)',"output-node-name-hint":"The rule node name corresponds to the relation type of the output message, and it is used to forward messages to other rule nodes in the caller rule chain.","skip-latest-persistence":"Skip latest persistence"},"key-val":{key:"Key",value:"Value","remove-entry":"Remove entry","add-entry":"Add entry"},"mail-body-type":{"plain-text":"Plain Text",html:"HTML",dynamic:"Dynamic"}}},!0)}(e)}}to.ɵfac=e.ɵɵngDeclareFactory({minVersion:"12.0.0",version:"12.2.15",ngImport:e,type:to,deps:[{token:E.TranslateService}],target:e.ɵɵFactoryTarget.NgModule}),to.ɵmod=e.ɵɵngDeclareNgModule({minVersion:"12.0.0",version:"12.2.15",ngImport:e,type:to,declarations:[ve],imports:[w,F],exports:[kt,Qt,wt,Jt,eo,ve]}),to.ɵinj=e.ɵɵngDeclareInjector({minVersion:"12.0.0",version:"12.2.15",ngImport:e,type:to,imports:[[w,F],kt,Qt,wt,Jt,eo]}),e.ɵɵngDeclareClassMetadata({minVersion:"12.0.0",version:"12.2.15",ngImport:e,type:to,decorators:[{type:l,args:[{declarations:[ve],imports:[w,F],exports:[kt,Qt,wt,Jt,eo,ve]}]}],ctorParameters:function(){return[{type:E.TranslateService}]}});export{Ne as AssignCustomerConfigComponent,qe as AttributesConfigComponent,$e as AzureIotHubConfigComponent,Mt as CalculateDeltaConfigComponent,$t as ChangeOriginatorConfigComponent,Ot as CheckAlarmStatusComponent,Ht as CheckMessageConfigComponent,We as CheckPointConfigComponent,Ut as CheckRelationConfigComponent,Ye as ClearAlarmConfigComponent,Je as CreateAlarmConfigComponent,Ze as CreateRelationConfigComponent,lt as CredentialsConfigComponent,St as CustomerAttributesConfigComponent,Xe as DeleteRelationConfigComponent,At as DeviceAttributesConfigComponent,et as DeviceProfileConfigComponent,It as DeviceRelationsQueryConfigComponent,ve as EmptyConfigComponent,Gt as EntityDetailsConfigComponent,tt as GeneratorConfigComponent,Dt as GetTelemetryFromDatabaseConfigComponent,ot as GpsGeoActionConfigComponent,Bt as GpsGeoFilterConfigComponent,at as KafkaConfigComponent,rt as KvMapConfigComponent,nt as LogConfigComponent,Kt as MessageTypeConfigComponent,qt as MessageTypesConfigComponent,it as MqttConfigComponent,st as MsgCountConfigComponent,mt as MsgDelayConfigComponent,Vt as OriginatorAttributesConfigComponent,Et as OriginatorFieldsConfigComponent,jt as OriginatorTypeConfigComponent,ut as PubSubConfigComponent,pt as PushToCloudConfigComponent,dt as PushToEdgeConfigComponent,ft as RabbitMqConfigComponent,Pt as RelatedAttributesConfigComponent,Nt as RelationsQueryConfigComponent,ct as RestApiCallConfigComponent,gt as RpcReplyConfigComponent,xt as RpcRequestConfigComponent,Zt as RuleChainInputComponent,Xt as RuleChainOutputComponent,kt as RuleNodeCoreConfigActionModule,Qt as RuleNodeCoreConfigFilterModule,eo as RuleNodeCoreConfigFlowModule,to as RuleNodeCoreConfigModule,Tt as RulenodeCoreConfigCommonModule,wt as RulenodeCoreConfigEnrichmentModule,Jt as RulenodeCoreConfigTransformModule,Ie as SafeHtmlPipe,yt as SaveToCustomTableConfigComponent,zt as ScriptConfigComponent,bt as SendEmailConfigComponent,ht as SendSmsConfigComponent,Ft as SnsConfigComponent,Ct as SqsConfigComponent,_t as SwitchConfigComponent,Rt as TenantAttributesConfigComponent,Lt as TimeseriesConfigComponent,Yt as ToEmailConfigComponent,Wt as TransformScriptConfigComponent,vt as UnassignCustomerConfigComponent};//# sourceMappingURL=rulenode-core-config.js.map
diff --git a/transport/snmp/src/main/resources/tb-snmp-transport.yml b/transport/snmp/src/main/resources/tb-snmp-transport.yml
index 80bc257a8b..fcdce12e1b 100644
--- a/transport/snmp/src/main/resources/tb-snmp-transport.yml
+++ b/transport/snmp/src/main/resources/tb-snmp-transport.yml
@@ -40,6 +40,49 @@ zk:
# Name of the directory in zookeeper 'filesystem'
zk_dir: "${ZOOKEEPER_NODES_DIR:/thingsboard}"
+cache:
+ type: "${CACHE_TYPE:redis}"
+
+redis:
+ # standalone or cluster
+ connection:
+ type: "${REDIS_CONNECTION_TYPE:standalone}"
+ standalone:
+ host: "${REDIS_HOST:localhost}"
+ port: "${REDIS_PORT:6379}"
+ useDefaultClientConfig: "${REDIS_USE_DEFAULT_CLIENT_CONFIG:true}"
+ # this value may be used only if you used not default ClientConfig
+ clientName: "${REDIS_CLIENT_NAME:standalone}"
+ # this value may be used only if you used not default ClientConfig
+ connectTimeout: "${REDIS_CLIENT_CONNECT_TIMEOUT:30000}"
+ # this value may be used only if you used not default ClientConfig
+ readTimeout: "${REDIS_CLIENT_READ_TIMEOUT:60000}"
+ # this value may be used only if you used not default ClientConfig
+ usePoolConfig: "${REDIS_CLIENT_USE_POOL_CONFIG:false}"
+ cluster:
+ # Comma-separated list of "host:port" pairs to bootstrap from.
+ nodes: "${REDIS_NODES:}"
+ # Maximum number of redirects to follow when executing commands across the cluster.
+ max-redirects: "${REDIS_MAX_REDIRECTS:12}"
+ useDefaultPoolConfig: "${REDIS_USE_DEFAULT_POOL_CONFIG:true}"
+ # db index
+ db: "${REDIS_DB:0}"
+ # db password
+ password: "${REDIS_PASSWORD:}"
+ # pool config
+ pool_config:
+ maxTotal: "${REDIS_POOL_CONFIG_MAX_TOTAL:128}"
+ maxIdle: "${REDIS_POOL_CONFIG_MAX_IDLE:128}"
+ minIdle: "${REDIS_POOL_CONFIG_MIN_IDLE:16}"
+ testOnBorrow: "${REDIS_POOL_CONFIG_TEST_ON_BORROW:true}"
+ testOnReturn: "${REDIS_POOL_CONFIG_TEST_ON_RETURN:true}"
+ testWhileIdle: "${REDIS_POOL_CONFIG_TEST_WHILE_IDLE:true}"
+ minEvictableMs: "${REDIS_POOL_CONFIG_MIN_EVICTABLE_MS:60000}"
+ evictionRunsMs: "${REDIS_POOL_CONFIG_EVICTION_RUNS_MS:30000}"
+ maxWaitMills: "${REDIS_POOL_CONFIG_MAX_WAIT_MS:60000}"
+ numberTestsPerEvictionRun: "${REDIS_POOL_CONFIG_NUMBER_TESTS_PER_EVICTION_RUN:3}"
+ blockWhenExhausted: "${REDIS_POOL_CONFIG_BLOCK_WHEN_EXHAUSTED:true}"
+
transport:
snmp:
enabled: "${SNMP_ENABLED:true}"
diff --git a/ui-ngx/src/app/core/api/widget-api.models.ts b/ui-ngx/src/app/core/api/widget-api.models.ts
index d053efb601..ad02f0d7be 100644
--- a/ui-ngx/src/app/core/api/widget-api.models.ts
+++ b/ui-ngx/src/app/core/api/widget-api.models.ts
@@ -150,6 +150,7 @@ export type StateControllerHolder = () => IStateController;
export interface IStateController {
dashboardCtrl: IDashboardController;
getStateParams(): StateParams;
+ stateChanged(): Observable