# Copyright 2019-2022 BAE Systems scalar Long scalar Short scalar Char schema { query: Query subscription : Subscription mutation: Mutation } type Query { almasFilledMessageTexts: [AlmasFilledMessageText!]! almasFilledMessageTextForKey(requestId: Long) : [AlmasFilledMessageText!]! almasRemoveAlertsWithDynamicMessageDatas: [AlmasRemoveAlertsWithDynamicMessageData!]! almasRemoveAlertsWithDynamicMessageDataForKey(requestId: Long) : [AlmasRemoveAlertsWithDynamicMessageData!]! almasAttachCategorisationRules: [AlmasAttachCategorisationRule!]! almasAttachCategorisationRuleForKey(requestId: Long) : [AlmasAttachCategorisationRule!]! almasDetachCategorisationRules: [AlmasDetachCategorisationRule!]! almasDetachCategorisationRuleForKey(requestId: Long) : [AlmasDetachCategorisationRule!]! almasAlerts: [AlmasAlert!]! almasAlertForKey(alertId: Int) : [AlmasAlert!]! almasAlertTemplateTypes: [AlmasAlertTemplateType!]! almasManagers: [AlmasManager!]! almasSetAlertInhibiteds: [AlmasSetAlertInhibited!]! almasSetAlertInhibitedForKey(requestId: Long) : [AlmasSetAlertInhibited!]! almasUpdateDynamicMessageDatas: [AlmasUpdateDynamicMessageData!]! almasUpdateDynamicMessageDataForKey(requestId: Long) : [AlmasUpdateDynamicMessageData!]! almasAlertReportTypes: [AlmasAlertReportType!]! almasAlertReportTypeForKey(receiverId: String, alertId: Int) : [AlmasAlertReportType!]! almasLoadReceiverHierarchys: [AlmasLoadReceiverHierarchy!]! almasLoadReceiverHierarchyForKey(requestId: Long) : [AlmasLoadReceiverHierarchy!]! almasLoadTemplateSets: [AlmasLoadTemplateSet!]! almasLoadTemplateSetForKey(requestId: Long) : [AlmasLoadTemplateSet!]! almasLoadConfigurations: [AlmasLoadConfiguration!]! almasLoadConfigurationForKey(requestId: Long) : [AlmasLoadConfiguration!]! almasRaiseAlertFromOverridess: [AlmasRaiseAlertFromOverrides!]! almasRaiseAlertFromOverridesForKey(requestId: Long) : [AlmasRaiseAlertFromOverrides!]! almasRaiseAlertWithDynamicDatas: [AlmasRaiseAlertWithDynamicData!]! almasRaiseAlertWithDynamicDataForKey(requestId: Long) : [AlmasRaiseAlertWithDynamicData!]! almasRaiseAlertFromDatas: [AlmasRaiseAlertFromData!]! almasRaiseAlertFromDataForKey(requestId: Long) : [AlmasRaiseAlertFromData!]! almasRaiseAlertFromTemplates: [AlmasRaiseAlertFromTemplate!]! almasRaiseAlertFromTemplateForKey(requestId: Long) : [AlmasRaiseAlertFromTemplate!]! almasUpdateAlertPrioritys: [AlmasUpdateAlertPriority!]! almasUpdateAlertPriorityForKey(requestId: Long) : [AlmasUpdateAlertPriority!]! almasCancelAlerts: [AlmasCancelAlert!]! almasCancelAlertForKey(requestId: Long) : [AlmasCancelAlert!]! almasSetLanguages: [AlmasSetLanguage!]! almasSetLanguageForKey(requestId: Long) : [AlmasSetLanguage!]! almasGetFilledMessageTexts: [AlmasGetFilledMessageText!]! almasGetFilledMessageTextForKey(requestId: Long) : [AlmasGetFilledMessageText!]! almasAcknowledgeAlerts: [AlmasAcknowledgeAlert!]! almasAcknowledgeAlertForKey(requestId: Long) : [AlmasAcknowledgeAlert!]! almasConfirmReceipts: [AlmasConfirmReceipt!]! almasConfirmReceiptForKey(requestId: Long) : [AlmasConfirmReceipt!]! almasHandleAlerts: [AlmasHandleAlert!]! almasHandleAlertForKey(requestId: Long) : [AlmasHandleAlert!]! almasRegisterReceivers: [AlmasRegisterReceiver!]! almasRegisterReceiverForKey(requestId: Long) : [AlmasRegisterReceiver!]! almasUnregisterReceivers: [AlmasUnregisterReceiver!]! almasUnregisterReceiverForKey(requestId: Long) : [AlmasUnregisterReceiver!]! } type Subscription { onAlmasFilledMessageText: AlmasFilledMessageTextUpdate! onAlmasRemoveAlertsWithDynamicMessageData: AlmasRemoveAlertsWithDynamicMessageDataUpdate! onAlmasAttachCategorisationRule: AlmasAttachCategorisationRuleUpdate! onAlmasDetachCategorisationRule: AlmasDetachCategorisationRuleUpdate! onAlmasAlert: AlmasAlertUpdate! onAlmasAlertTemplateType: AlmasAlertTemplateTypeUpdate! onAlmasManager: AlmasManagerUpdate! onAlmasSetAlertInhibited: AlmasSetAlertInhibitedUpdate! onAlmasUpdateDynamicMessageData: AlmasUpdateDynamicMessageDataUpdate! onAlmasAlertReportType: AlmasAlertReportTypeUpdate! onAlmasLoadReceiverHierarchy: AlmasLoadReceiverHierarchyUpdate! onAlmasLoadTemplateSet: AlmasLoadTemplateSetUpdate! onAlmasLoadConfiguration: AlmasLoadConfigurationUpdate! onAlmasRaiseAlertFromOverrides: AlmasRaiseAlertFromOverridesUpdate! onAlmasRaiseAlertWithDynamicData: AlmasRaiseAlertWithDynamicDataUpdate! onAlmasRaiseAlertFromData: AlmasRaiseAlertFromDataUpdate! onAlmasRaiseAlertFromTemplate: AlmasRaiseAlertFromTemplateUpdate! onAlmasUpdateAlertPriority: AlmasUpdateAlertPriorityUpdate! onAlmasCancelAlert: AlmasCancelAlertUpdate! onAlmasSetLanguage: AlmasSetLanguageUpdate! onAlmasGetFilledMessageText: AlmasGetFilledMessageTextUpdate! onAlmasAcknowledgeAlert: AlmasAcknowledgeAlertUpdate! onAlmasConfirmReceipt: AlmasConfirmReceiptUpdate! onAlmasHandleAlert: AlmasHandleAlertUpdate! onAlmasRegisterReceiver: AlmasRegisterReceiverUpdate! onAlmasUnregisterReceiver: AlmasUnregisterReceiverUpdate! } type Mutation { updateAlmasFilledMessageText(instance: AlmasFilledMessageTextInput!): AlmasFilledMessageText! updateAlmasRemoveAlertsWithDynamicMessageData(instance: AlmasRemoveAlertsWithDynamicMessageDataInput!): AlmasRemoveAlertsWithDynamicMessageData! updateAlmasAttachCategorisationRule(instance: AlmasAttachCategorisationRuleInput!): AlmasAttachCategorisationRule! updateAlmasDetachCategorisationRule(instance: AlmasDetachCategorisationRuleInput!): AlmasDetachCategorisationRule! updateAlmasAlert(instance: AlmasAlertInput!): AlmasAlert! updateAlmasAlertTemplateType(instance: AlmasAlertTemplateTypeInput!): AlmasAlertTemplateType! updateAlmasManager(instance: AlmasManagerInput!): AlmasManager! updateAlmasSetAlertInhibited(instance: AlmasSetAlertInhibitedInput!): AlmasSetAlertInhibited! updateAlmasUpdateDynamicMessageData(instance: AlmasUpdateDynamicMessageDataInput!): AlmasUpdateDynamicMessageData! updateAlmasAlertReportType(instance: AlmasAlertReportTypeInput!): AlmasAlertReportType! updateAlmasLoadReceiverHierarchy(instance: AlmasLoadReceiverHierarchyInput!): AlmasLoadReceiverHierarchy! updateAlmasLoadTemplateSet(instance: AlmasLoadTemplateSetInput!): AlmasLoadTemplateSet! updateAlmasLoadConfiguration(instance: AlmasLoadConfigurationInput!): AlmasLoadConfiguration! updateAlmasRaiseAlertFromOverrides(instance: AlmasRaiseAlertFromOverridesInput!): AlmasRaiseAlertFromOverrides! updateAlmasRaiseAlertWithDynamicData(instance: AlmasRaiseAlertWithDynamicDataInput!): AlmasRaiseAlertWithDynamicData! updateAlmasRaiseAlertFromData(instance: AlmasRaiseAlertFromDataInput!): AlmasRaiseAlertFromData! updateAlmasRaiseAlertFromTemplate(instance: AlmasRaiseAlertFromTemplateInput!): AlmasRaiseAlertFromTemplate! updateAlmasUpdateAlertPriority(instance: AlmasUpdateAlertPriorityInput!): AlmasUpdateAlertPriority! updateAlmasCancelAlert(instance: AlmasCancelAlertInput!): AlmasCancelAlert! updateAlmasSetLanguage(instance: AlmasSetLanguageInput!): AlmasSetLanguage! updateAlmasGetFilledMessageText(instance: AlmasGetFilledMessageTextInput!): AlmasGetFilledMessageText! updateAlmasAcknowledgeAlert(instance: AlmasAcknowledgeAlertInput!): AlmasAcknowledgeAlert! updateAlmasConfirmReceipt(instance: AlmasConfirmReceiptInput!): AlmasConfirmReceipt! updateAlmasHandleAlert(instance: AlmasHandleAlertInput!): AlmasHandleAlert! updateAlmasRegisterReceiver(instance: AlmasRegisterReceiverInput!): AlmasRegisterReceiver! updateAlmasUnregisterReceiver(instance: AlmasUnregisterReceiverInput!): AlmasUnregisterReceiver! dummyMutation(enumAlmasAckModelType: AlmasAckModelType, inputAlmasAlertReportType: AlmasAlertReportTypeInput, enumAlmasCategoryType: AlmasCategoryType, inputAlmasDynamicMessageDataType: AlmasDynamicMessageDataTypeInput, enumAlmasScopeType: AlmasScopeType, enumAlmasStateType: AlmasStateType, inputAlmasStaticMessageType: AlmasStaticMessageTypeInput, enumAlmasStatusType: AlmasStatusType, enumAlmasTimeoutActionType: AlmasTimeoutActionType, inputAlmasValidAlertResponseType: AlmasValidAlertResponseTypeInput, inputAlmasAlertDataExtraAttributesType: AlmasAlertDataExtraAttributesTypeInput, inputAlmasReceiverKindType: AlmasReceiverKindTypeInput, inputAlmasAvailableAlertReceiverType: AlmasAvailableAlertReceiverTypeInput, inputAlmasAlertDataType: AlmasAlertDataTypeInput, inputAlmasAlertTemplateType: AlmasAlertTemplateTypeInput, inputAlmasAlert: AlmasAlertInput, inputAlmasManager: AlmasManagerInput, inputAlmasRaiseAlertFromTemplate: AlmasRaiseAlertFromTemplateInput, inputAlmasRegisterReceiver: AlmasRegisterReceiverInput, inputAlmasUnregisterReceiver: AlmasUnregisterReceiverInput, inputAlmasRaiseAlertWithDynamicData: AlmasRaiseAlertWithDynamicDataInput, inputAlmasRaiseAlertFromData: AlmasRaiseAlertFromDataInput, inputAlmasUpdateAlertPriority: AlmasUpdateAlertPriorityInput, inputAlmasCancelAlert: AlmasCancelAlertInput, inputAlmasAcknowledgeAlert: AlmasAcknowledgeAlertInput, inputAlmasHandleAlert: AlmasHandleAlertInput, inputAlmasConfirmReceipt: AlmasConfirmReceiptInput, inputAlmasSetLanguage: AlmasSetLanguageInput, inputAlmasGetFilledMessageText: AlmasGetFilledMessageTextInput, inputAlmasFilledMessageText: AlmasFilledMessageTextInput, inputAlmasLoadReceiverHierarchy: AlmasLoadReceiverHierarchyInput, inputAlmasLoadTemplateSet: AlmasLoadTemplateSetInput, inputAlmasLoadConfiguration: AlmasLoadConfigurationInput, inputAlmasUpdateDynamicMessageData: AlmasUpdateDynamicMessageDataInput, inputAlmasSetAlertInhibited: AlmasSetAlertInhibitedInput, inputAlmasAttachCategorisationRule: AlmasAttachCategorisationRuleInput, inputAlmasDetachCategorisationRule: AlmasDetachCategorisationRuleInput, inputAlmasRemoveAlertsWithDynamicMessageData: AlmasRemoveAlertsWithDynamicMessageDataInput, inputAlmasRaiseAlertFromOverrides: AlmasRaiseAlertFromOverridesInput, ignored: Boolean) : Boolean } # Class: # This class modelsthe conditions upon whichanalert state can transition to # 'acknowledged'. # enum AlmasAckModelType { # Attribute: # No acknowledgement required ACK_BY_NONE # Attribute: # Any single acknowledgement is sufficient. ACK_BY_ANYONE # Attribute: # The alert must be acknowledged by all recipients. ACK_BY_ALL } type AlmasAlertReportTypeUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasAlertReportType! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Class: # This provides the status information for specifically delivered alert item to a # receiver. This will contain details of whether the instance has been acknowledged # by this receiver etc. and will also be completed with respect to any dynamic # message data. type AlmasAlertReportType { # Attribute: # Identified whether the alert has been acknowledged by this receiver acknowledged: Boolean! # Attribute: # Identified whether the alert can be confirmed to have been routed as per the # 'routed' alert substate routed: Boolean! # Attribute: # Identified whether the alert has been actioned by this receiver actioned: Boolean! # Attribute: # Indicates that this receiver is the chosen actionee for this alert. receiverIsActionee: Boolean! # Attribute: # Provides means by which an alternative action outside of the scope of ALMAS can # be distributed with the alert via ALMAS. alternativeAction: [String!]! receiverId: String! alertId: Int! } # Class: # This provides the status information for specifically delivered alert item to a # receiver. This will contain details of whether the instance has been acknowledged # by this receiver etc. and will also be completed with respect to any dynamic # message data. input AlmasAlertReportTypeInput { # Attribute: # Identified whether the alert has been acknowledged by this receiver acknowledged: Boolean! # Attribute: # Identified whether the alert can be confirmed to have been routed as per the # 'routed' alert substate routed: Boolean! # Attribute: # Identified whether the alert has been actioned by this receiver actioned: Boolean! # Attribute: # Indicates that this receiver is the chosen actionee for this alert. receiverIsActionee: Boolean! # Attribute: # Provides means by which an alternative action outside of the scope of ALMAS can # be distributed with the alert via ALMAS. alternativeAction: [String!]! receiverId: String! alertId: Int! } # Class: # The categories of alerts in terms of the expectation placed on the operator # receiving the alert; i.e. generically, why has the alert been received and what # type of implicit or explicit response is expected. # enum AlmasCategoryType { # Attribute: # An explicit input to the system is expected as a result of receiving the alert. # The alert persists until its is cancelled due to the condition to which it # relates no longer being present (due either to explicit operator action relating # to the alert or action external to the ALMAS system). ACTION # Attribute: # The receiver may decide to take an explicit action in mitigation to the condition # to which the warning relates. The alert does not persist according to the # underlying condition that the alert warns about. WARNING # Attribute: # The receiver is expected to take account of this information in subsequent # decisions. The alert does not persist according to the underlying condition that # the alert informs about. INFORMATION # Attribute: # The receiver is expected to take account of the new state of the situation in # subsequent decisions. The alert persists until its is cancelled due to the # condition to which it relates no longer being present (due either to explicit # operator action relating to the alert or action external to the ALMAS system). SITUATION } # Class: # Since Alerts often have variable data fields, the DynamicMessageData class # provides the means for inserting variable content into the Alert’s MessageText # during runtime. Replacement values for the DataTag are treated as strict string # substitution within the MessageText of the StaticMessage associated with the # Alert. This is used to capture the triplet of data tag type, tag position in the # alert message and the value that this tag in the template message text should be # replaced with. Note: if the text specified in the StaticMessage contains # multiple replacement points (specified by %%t1 through %%tn) then an equal number # of DynamicMessageData objects are required for full substitution. type AlmasDynamicMessageDataType { # Attribute: # The type of related object e.g. freetext, track, vehicle, position, etc. dataType: String! # Attribute: # This identifies the insertion point for the related object in the MessageText # associated with the Alert. I.e. where the MessageText is "xxxxx %t1 yyyyyyy # zzzz", then DataTag has the value 't1'. It is a case sensitive, alphanumeric # string dataTag: String! # Attribute: # The value of the object instantiation. Given a type # of string to be general enough to support free text # and track/vehicle id's alike dataValue: String! } # Class: # Since Alerts often have variable data fields, the DynamicMessageData class # provides the means for inserting variable content into the Alert’s MessageText # during runtime. Replacement values for the DataTag are treated as strict string # substitution within the MessageText of the StaticMessage associated with the # Alert. This is used to capture the triplet of data tag type, tag position in the # alert message and the value that this tag in the template message text should be # replaced with. Note: if the text specified in the StaticMessage contains # multiple replacement points (specified by %%t1 through %%tn) then an equal number # of DynamicMessageData objects are required for full substitution. input AlmasDynamicMessageDataTypeInput { # Attribute: # The type of related object e.g. freetext, track, vehicle, position, etc. dataType: String! # Attribute: # This identifies the insertion point for the related object in the MessageText # associated with the Alert. I.e. where the MessageText is "xxxxx %t1 yyyyyyy # zzzz", then DataTag has the value 't1'. It is a case sensitive, alphanumeric # string dataTag: String! # Attribute: # The value of the object instantiation. Given a type # of string to be general enough to support free text # and track/vehicle id's alike dataValue: String! } # Class: # This class models the scope of the alert's dissemination. # enum AlmasScopeType { # Attribute: # unrestricted dissemination PUBLIC_SCOPE # Attribute: # dissemination restricted to known functions RESTRICTED_SCOPE # Attribute: # dissemination restricted to specified addresses PRIVATE_SCOPE } # Class: # The states between which an alert transitions in its lifetime. # enum AlmasStateType { # Attribute: # The alert has been created by the alert producer. RAISED # Attribute: # The alert has been routed to the receivers, but reception has not been confirmed # by sufficient receivers to enter the received state. ROUTED # Attribute: # The alert has been received by sufficient receivers. RECEIVED # Attribute: # All necessary acknowledgements have been made. ACKNOWLEDGED # Attribute: # The alert ends its lifetime through being handled by the receiver. HANDLED # Attribute: # The alert ends its lifetime through being cancelled by the producer. CANCELLED # Attribute: # The alert ends its lifetime through beingtimed-out. TIMED_OUT } # Class: # Provides the default message text for an alert as a tuplet of the actual static # text and the language in which the text is provided. If the StaticMessage # requires runtime updating, then use data tags as specified in DynamicMessageData. type AlmasStaticMessageType { # Attribute: # This is a text string, which in an Alert or AlertTemplate is only partially # completed. With the MessageText being "xxxxx %t1 yyyyyyy zzzz" in an Alert or # AlertTemplate, and with a DynamicMessageData with DataTag having the value 't1' # and DataValue having the value '123' then the resulting MessageText in response # to GetFilledMessageText will be 'xxxxx 123 yyyyyyy zzzz'. All substitution # points are bracketed by use of "%" and , and are case sensitive, # alphanumeric strings ("t1" in the above) which should correspond to a DataTag in # an associated DynamicMessageData. messageText: String! # Attribute: # The message ‘Locale’ messageLanguage: String! } # Class: # Provides the default message text for an alert as a tuplet of the actual static # text and the language in which the text is provided. If the StaticMessage # requires runtime updating, then use data tags as specified in DynamicMessageData. input AlmasStaticMessageTypeInput { # Attribute: # This is a text string, which in an Alert or AlertTemplate is only partially # completed. With the MessageText being "xxxxx %t1 yyyyyyy zzzz" in an Alert or # AlertTemplate, and with a DynamicMessageData with DataTag having the value 't1' # and DataValue having the value '123' then the resulting MessageText in response # to GetFilledMessageText will be 'xxxxx 123 yyyyyyy zzzz'. All substitution # points are bracketed by use of "%" and , and are case sensitive, # alphanumeric strings ("t1" in the above) which should correspond to a DataTag in # an associated DynamicMessageData. messageText: String! # Attribute: # The message ‘Locale’ messageLanguage: String! } # Class: # The status of the entities with regards to the mode of use of ALMAS in comparison # to the mode of use of receivers and producers. # enum AlmasStatusType { # Attribute: # Actionable by all targeted recipients ACTUAL # Attribute: # Actionable only by designated exercise participants EXERCISE # Attribute: # For entities that support alert network internal functions. SYSTEM # Attribute: # Technical testing only, all recipients disregard. TEST } # Class: # This class models the possible behaviors when an alert is timed-out. # enum AlmasTimeoutActionType { # Attribute: # The alert is just cancelled (the alert instance's lifetime ends). CANCEL_ONLY # Attribute: # The alert manager is notified. NOTIFY_ONLY # Attribute: # The alert is cancelled (the alert instance's lifetime ends) and the alert manager # is notified. CANCEL_WITH_NOTIFY } # Class: # The ValidAlertResponse is the association class that specifies the list of # actions that a particular ReceiverKind (e.g. "role") can take in response to an # Alert of an AlertTemplate type. It also specifies the "pecking order" of that # ReceiverKind among all ReceiverKinds associated with that AlertTemplate. # The set of alternative action strings can be used by the system to provide a # constraind set of "command-response" options to the client. For example, # ValidAlertResponses for an "Engagement Request Alert" might include "WILCO", # "CANTCO", etc. type AlmasValidAlertResponseType { # Attribute: # The 'names' of alternative actions available to the relevant actor. alternativeAction: [String!]! # Attribute: # The priority of the ReceiveKkind as actionee for a specifc alert kind as # described by its template. The highest priority actionee for an action alert # should be chosen as the current actionee for the alert. This will then flow into # the ReceiverIsActionee field of the AlertReport. actioneePriority: Short! } # Class: # The ValidAlertResponse is the association class that specifies the list of # actions that a particular ReceiverKind (e.g. "role") can take in response to an # Alert of an AlertTemplate type. It also specifies the "pecking order" of that # ReceiverKind among all ReceiverKinds associated with that AlertTemplate. # The set of alternative action strings can be used by the system to provide a # constraind set of "command-response" options to the client. For example, # ValidAlertResponses for an "Engagement Request Alert" might include "WILCO", # "CANTCO", etc. input AlmasValidAlertResponseTypeInput { # Attribute: # The 'names' of alternative actions available to the relevant actor. alternativeAction: [String!]! # Attribute: # The priority of the ReceiveKkind as actionee for a specifc alert kind as # described by its template. The highest priority actionee for an action alert # should be chosen as the current actionee for the alert. This will then flow into # the ReceiverIsActionee field of the AlertReport. actioneePriority: Short! } # Class: # This is a class representing items of alert data that are specific to particular # clients, that require supporting in order to fulfil possible requirements of an # alert management system (such as images or other binary data), but are not # general enough to be defined explicitly as data types in an ALMAS. Effectively # ALMAS provides blind delivery of the information provided by this class to the # alert receiver without any knowledge as to its intended meaning and behaviour. # The extra attributes are configured via the ALMAS Alert definition xml PSM # specified in section 7.1. If defined in the Alert definition XML provided to # ALMAS, then ALMAS shall support the definition, receipt, storage and passing of # this data to receivers as part of a standard implementation. type AlmasAlertDataExtraAttributesType { # Attribute: # Name of the client specific attribute name: String! # Attribute: # Valid Values for this are: # 0 = string # 1 = Integer8 # 2 = Integer16 # 3 = Integer32 # 4 = Float32 # 5 = Float64 # 6 = bytes typeOfByteData: Short! # Attribute: # Used to provide indicaton of the content e.g. "image (jpg)", "URL", "track # object", ... description: String! # Attribute: # Contents as a byte sequence value: [Short!]! } # Class: # This is a class representing items of alert data that are specific to particular # clients, that require supporting in order to fulfil possible requirements of an # alert management system (such as images or other binary data), but are not # general enough to be defined explicitly as data types in an ALMAS. Effectively # ALMAS provides blind delivery of the information provided by this class to the # alert receiver without any knowledge as to its intended meaning and behaviour. # The extra attributes are configured via the ALMAS Alert definition xml PSM # specified in section 7.1. If defined in the Alert definition XML provided to # ALMAS, then ALMAS shall support the definition, receipt, storage and passing of # this data to receivers as part of a standard implementation. input AlmasAlertDataExtraAttributesTypeInput { # Attribute: # Name of the client specific attribute name: String! # Attribute: # Valid Values for this are: # 0 = string # 1 = Integer8 # 2 = Integer16 # 3 = Integer32 # 4 = Float32 # 5 = Float64 # 6 = bytes typeOfByteData: Short! # Attribute: # Used to provide indicaton of the content e.g. "image (jpg)", "URL", "track # object", ... description: String! # Attribute: # Contents as a byte sequence value: [Short!]! } # Class: # The descriptor of an alert receiver. This could for example be an operator role. # ReceiverKind objects are used in many places in ALMAS including the # specification of what operators/clients will receive which Alerts. # o These are used to show all possible receivers of an Alert, when used in an # AlertTemplate; # o These are used during runtime to identify the actual receivers for an active # alert. type AlmasReceiverKindType { # Attribute: # String identifier of the kind of receiver, for example the role of a receiving # operator. rkType: String! # Attribute: # The hierarchical parent receiver kind name that this one “belongs to”. This is # used by ALMAS to resolve cases where a specific RK is not available but handing # is required by an appropriate receiver. Note that a lack of a Parent is # indicated by an empty string. rkParentType: String! validResponse: AlmasValidAlertResponseType } # Class: # The descriptor of an alert receiver. This could for example be an operator role. # ReceiverKind objects are used in many places in ALMAS including the # specification of what operators/clients will receive which Alerts. # o These are used to show all possible receivers of an Alert, when used in an # AlertTemplate; # o These are used during runtime to identify the actual receivers for an active # alert. input AlmasReceiverKindTypeInput { # Attribute: # String identifier of the kind of receiver, for example the role of a receiving # operator. rkType: String! # Attribute: # The hierarchical parent receiver kind name that this one “belongs to”. This is # used by ALMAS to resolve cases where a specific RK is not available but handing # is required by an appropriate receiver. Note that a lack of a Parent is # indicated by an empty string. rkParentType: String! validResponse: AlmasValidAlertResponseTypeInput } # Class: # The class used to identify a receiver of alerts. A registered receiver of # alerts. The AvailableAlertReceiver is registered with ALMAS through the # ALMASResponder API. The AvailableAlertReceiver is directly associated with an # ALMASReceiver through the ReceiverID attribute, which is provided at registration # time to ALMAS using the RegisterReceiver method. type AlmasAvailableAlertReceiverType { # Attribute: # Unique identifier for the receiver. receiverId: String! # Attribute: # The kind of the receiver as an explicit attribute link to the Receiver Kind # class. receiverKind: AlmasReceiverKindType } # Class: # The class used to identify a receiver of alerts. A registered receiver of # alerts. The AvailableAlertReceiver is registered with ALMAS through the # ALMASResponder API. The AvailableAlertReceiver is directly associated with an # ALMASReceiver through the ReceiverID attribute, which is provided at registration # time to ALMAS using the RegisterReceiver method. input AlmasAvailableAlertReceiverTypeInput { # Attribute: # Unique identifier for the receiver. receiverId: String! # Attribute: # The kind of the receiver as an explicit attribute link to the Receiver Kind # class. receiverKind: AlmasReceiverKindTypeInput } # Class: # This represents the set of data shared between the alert template and alert # classes. All fields have default values which can be changed when alerts are # raised/updated. This may be set up through the use of templates as specified # through the XML PSM, which initialises AlertTemplate and its associated classes. type AlmasAlertDataType { # Attribute: # A unique identifier for template which owns this alert data (or that was used to # create the alert if this is referenced from Alert). Valid range from 1 upwards. templateId: Int! # Attribute: # This enumeration can take the value Action / Warning / Information / Situation category: AlmasCategoryType # Attribute: # Alert priority as an integer value in the range 1-99. The priority is open for # client use and not intended for interpretation by ALMAS. priority: Short! # Attribute: # Corresponds to the OASIS CAP Status field. # "Actual" - Actionable by all targeted recipients # "Exercise"- Actionable only by designated exercise participants; exercise # identifier should appear in an Alert Data Extra Attributes element # "System" - For messages that support alert network internal functions # "Test" - Technical testing only, all recipients disregard status: AlmasStatusType # Attribute: # Corresponds to CAP scope. scope: AlmasScopeType # Attribute: # Specifies the time, in seconds, required to elapse before the alert will timeout # and perform its default timeout action. 0 implies there is no timeout. timeout: Int! # Attribute: # This is set if confirmation of receipt is required, e.g. a safety critical alert # requires confirmation that it has been distributed. If this is set to true the # producer has registered for receipt of the distribution notification. confirmationRequired: Boolean! # Attribute: # This is an additional field to support client specific filtering mechanisms. secondaryGrouping: String! # Attribute: # Indicates whether the alert data is required to be persistent in the event of a # system restart persistent: Boolean! # Attribute: # A flag which, when true, indicates that the alert should have guaranteed # delivery. reliablyDistributed: Boolean! # Attribute: # This is an enumeration which has values of {cancel, notify, cancel & notify} timeoutAction: AlmasTimeoutActionType # Attribute: # Sets the conditions upon which the alert state can # transition to 'acknowledged'. # This has the options of {none, anyone, all} acknowledgementModel: AlmasAckModelType staticMessages: [AlmasStaticMessageType!]! dynamicMessages: [AlmasDynamicMessageDataType!]! extraAttributes: [AlmasAlertDataExtraAttributesType!]! } # Class: # This represents the set of data shared between the alert template and alert # classes. All fields have default values which can be changed when alerts are # raised/updated. This may be set up through the use of templates as specified # through the XML PSM, which initialises AlertTemplate and its associated classes. input AlmasAlertDataTypeInput { # Attribute: # A unique identifier for template which owns this alert data (or that was used to # create the alert if this is referenced from Alert). Valid range from 1 upwards. templateId: Int! # Attribute: # This enumeration can take the value Action / Warning / Information / Situation category: AlmasCategoryType # Attribute: # Alert priority as an integer value in the range 1-99. The priority is open for # client use and not intended for interpretation by ALMAS. priority: Short! # Attribute: # Corresponds to the OASIS CAP Status field. # "Actual" - Actionable by all targeted recipients # "Exercise"- Actionable only by designated exercise participants; exercise # identifier should appear in an Alert Data Extra Attributes element # "System" - For messages that support alert network internal functions # "Test" - Technical testing only, all recipients disregard status: AlmasStatusType # Attribute: # Corresponds to CAP scope. scope: AlmasScopeType # Attribute: # Specifies the time, in seconds, required to elapse before the alert will timeout # and perform its default timeout action. 0 implies there is no timeout. timeout: Int! # Attribute: # This is set if confirmation of receipt is required, e.g. a safety critical alert # requires confirmation that it has been distributed. If this is set to true the # producer has registered for receipt of the distribution notification. confirmationRequired: Boolean! # Attribute: # This is an additional field to support client specific filtering mechanisms. secondaryGrouping: String! # Attribute: # Indicates whether the alert data is required to be persistent in the event of a # system restart persistent: Boolean! # Attribute: # A flag which, when true, indicates that the alert should have guaranteed # delivery. reliablyDistributed: Boolean! # Attribute: # This is an enumeration which has values of {cancel, notify, cancel & notify} timeoutAction: AlmasTimeoutActionType # Attribute: # Sets the conditions upon which the alert state can # transition to 'acknowledged'. # This has the options of {none, anyone, all} acknowledgementModel: AlmasAckModelType staticMessages: [AlmasStaticMessageTypeInput!]! dynamicMessages: [AlmasDynamicMessageDataTypeInput!]! extraAttributes: [AlmasAlertDataExtraAttributesTypeInput!]! } type AlmasAlertTemplateTypeUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasAlertTemplateType! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Retrieves an existing alert template from ALMAS by providing the template ID. # Interface: # The ALMASManager interface provides the minimal set of APIs necessary to track # ALMAS activity. Additionally, the ALMASManager provides the interface in ALMAS # for retrieving Alerts and AlertTemplates, and registering for the notification of # delivery of Alerts. Note that the registration of receivers is done via the # ALMAS Responder class. # Note: The methods found in the ALMASProducer interface allow the system to update # the status or attributes of an alert during runtime. # Class: # An AlertTemplate specifys the generic characteristics of a specific alert type # "at rest" (e.g. the general characteristics of a collision warning alert). This # includes the category of alert, such as Action etc. An AerltTemplate uses an # associated AlertData object to specify the contents of the template. An # AlertTemplate can be used to specify the properties of commonly used within a # system. At the time of raising an Alert from a template, the user/system # provides the relevant instance data of that alert type AlmasAlertTemplateType { # Attribute: # The inhibition status of that alert type. If this is 'true' then attempts to # raise an alert of that type will fail. inhibited: Boolean! # Attribute: # Indicates that the alert should be # raised to all available receivers rather # than specified ones. raiseToAll: Boolean! alertData: AlmasAlertDataType receiverKinds: [AlmasReceiverKindType!]! } # Operation: # Retrieves an existing alert template from ALMAS by providing the template ID. # Interface: # The ALMASManager interface provides the minimal set of APIs necessary to track # ALMAS activity. Additionally, the ALMASManager provides the interface in ALMAS # for retrieving Alerts and AlertTemplates, and registering for the notification of # delivery of Alerts. Note that the registration of receivers is done via the # ALMAS Responder class. # Note: The methods found in the ALMASProducer interface allow the system to update # the status or attributes of an alert during runtime. # Class: # An AlertTemplate specifys the generic characteristics of a specific alert type # "at rest" (e.g. the general characteristics of a collision warning alert). This # includes the category of alert, such as Action etc. An AerltTemplate uses an # associated AlertData object to specify the contents of the template. An # AlertTemplate can be used to specify the properties of commonly used within a # system. At the time of raising an Alert from a template, the user/system # provides the relevant instance data of that alert input AlmasAlertTemplateTypeInput { # Attribute: # The inhibition status of that alert type. If this is 'true' then attempts to # raise an alert of that type will fail. inhibited: Boolean! # Attribute: # Indicates that the alert should be # raised to all available receivers rather # than specified ones. raiseToAll: Boolean! alertData: AlmasAlertDataTypeInput receiverKinds: [AlmasReceiverKindTypeInput!]! } type AlmasAlertUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasAlert! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Retrieves data for a specific raised alert from ALMAS given the passed AlertID. # Assumes the requestor knows the AlertID to retrieve. # Interface: # The ALMASManager interface provides the minimal set of APIs necessary to track # ALMAS activity. Additionally, the ALMASManager provides the interface in ALMAS # for retrieving Alerts and AlertTemplates, and registering for the notification of # delivery of Alerts. Note that the registration of receivers is done via the # ALMAS Responder class. # Note: The methods found in the ALMASProducer interface allow the system to update # the status or attributes of an alert during runtime. # Class: # An active alert within ALMAS. The Alert class provides the main entity that # ALMAS uses for tracking the state of an alert. The specific data such as message # and other attributes for an active alert is provided in the AlertData class which # is a member attribute of the Alert type AlmasAlert { # Attribute: # The instance id for the specific instance of the alert. alertId: Int! # Attribute: # The time at which the alert was raised. raisingTime: Long! # Attribute: # Holds the current state of the alert, valid states are determined by the category # of the alert, {Raised, Routed, Received, Acknowledged, Handled, Cancelled, # Timed_Out}. Note that Handled is not a valid state for Information and Warning # Alerts. currentState: AlmasStateType # Attribute: # The producer freetext ID - corresponds to CAP source producerId: String! alertData: AlmasAlertDataType receivers: [AlmasAvailableAlertReceiverType!]! } # Operation: # Retrieves data for a specific raised alert from ALMAS given the passed AlertID. # Assumes the requestor knows the AlertID to retrieve. # Interface: # The ALMASManager interface provides the minimal set of APIs necessary to track # ALMAS activity. Additionally, the ALMASManager provides the interface in ALMAS # for retrieving Alerts and AlertTemplates, and registering for the notification of # delivery of Alerts. Note that the registration of receivers is done via the # ALMAS Responder class. # Note: The methods found in the ALMASProducer interface allow the system to update # the status or attributes of an alert during runtime. # Class: # An active alert within ALMAS. The Alert class provides the main entity that # ALMAS uses for tracking the state of an alert. The specific data such as message # and other attributes for an active alert is provided in the AlertData class which # is a member attribute of the Alert input AlmasAlertInput { # Attribute: # The instance id for the specific instance of the alert. alertId: Int! # Attribute: # The time at which the alert was raised. raisingTime: Long! # Attribute: # Holds the current state of the alert, valid states are determined by the category # of the alert, {Raised, Routed, Received, Acknowledged, Handled, Cancelled, # Timed_Out}. Note that Handled is not a valid state for Information and Warning # Alerts. currentState: AlmasStateType # Attribute: # The producer freetext ID - corresponds to CAP source producerId: String! alertData: AlmasAlertDataTypeInput receivers: [AlmasAvailableAlertReceiverTypeInput!]! } type AlmasManagerUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasManager! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Class: # Need a singleton topic for ALMAS_Manager since it has attributes type AlmasManager { systemId: String! } # Class: # Need a singleton topic for ALMAS_Manager since it has attributes input AlmasManagerInput { systemId: String! } type AlmasRaiseAlertFromTemplateUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasRaiseAlertFromTemplate! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Raise an alert without any of the optional parameters for optimal use in the # normal case. # Interface: # Provides the API by which system objects producing alerts can create and update # alerts that are generated. A CallStatus object will be returned to indicate # whether the request has been accepted by ALMAS. If a system wished to track the # lifecycle of the alert, they must implement the NotificationListener # functionality to receive updates. # Three mechanisms by which alerts can be raised are provided by the ALMASProducer # interface class. Two variants RaiseAlertFromTemplate and RaiseAlertFromOverrides # allow the system to raise an alert by simply specifying the alert ID, template ID # and their own ProducerID, one of these also allows the over-ride of any # placeholders that may be present in the ‘Message’ attribute of the alert data # class associated with that template. The raiser may also optionally override any # of the following parameters: Message, MessageLanguage, Category, Status, Scope, # Timeout, ConfirmationRequired, AlertReceiverSet, Priority, TimeoutAction and # AcknowledgementModel. # The RaiseAlertFromData method allows the raiser to specify a completely new alert # with no basis on any existing templates. Systems using ALMAS may not wish to # support alert templates depending on their size, complexity and level of alert # usage, in which case that system can always use RaiseAlertFromData without need # to instantiate any templates at any point during operation. # The status or attributes of an alert can be updated during runtime by calling the # UpdateAlert method found in the ALMASProducer interface. The ALMASProducer then # works with the ALMAS system to ensure state and data is properly maintained in # the system. type AlmasRaiseAlertFromTemplate { requestId: Long! producerId: String! templateId: Int! } # Operation: # Raise an alert without any of the optional parameters for optimal use in the # normal case. # Interface: # Provides the API by which system objects producing alerts can create and update # alerts that are generated. A CallStatus object will be returned to indicate # whether the request has been accepted by ALMAS. If a system wished to track the # lifecycle of the alert, they must implement the NotificationListener # functionality to receive updates. # Three mechanisms by which alerts can be raised are provided by the ALMASProducer # interface class. Two variants RaiseAlertFromTemplate and RaiseAlertFromOverrides # allow the system to raise an alert by simply specifying the alert ID, template ID # and their own ProducerID, one of these also allows the over-ride of any # placeholders that may be present in the ‘Message’ attribute of the alert data # class associated with that template. The raiser may also optionally override any # of the following parameters: Message, MessageLanguage, Category, Status, Scope, # Timeout, ConfirmationRequired, AlertReceiverSet, Priority, TimeoutAction and # AcknowledgementModel. # The RaiseAlertFromData method allows the raiser to specify a completely new alert # with no basis on any existing templates. Systems using ALMAS may not wish to # support alert templates depending on their size, complexity and level of alert # usage, in which case that system can always use RaiseAlertFromData without need # to instantiate any templates at any point during operation. # The status or attributes of an alert can be updated during runtime by calling the # UpdateAlert method found in the ALMASProducer interface. The ALMASProducer then # works with the ALMAS system to ensure state and data is properly maintained in # the system. input AlmasRaiseAlertFromTemplateInput { requestId: Long! producerId: String! templateId: Int! } type AlmasRegisterReceiverUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasRegisterReceiver! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # This registers a receiver with ALMAS, the parameters are ReceiverHandle (for # callback); ReceiverID (for use in all other methods, including # UnregisterReceiver) and RKType to provide link to RK hierarchy. # Interface: # Provides the API for systems to respond to and provide feedback to ALMAS about # alertsreceived. Embedded in this class are the methods to register and # un-register your system-specific receiver. # The system notifies ALMAS through this interface of significant events that have # occurred to change the state of an alert. type AlmasRegisterReceiver { requestId: Long! receiverId: String! rkType: String! } # Operation: # This registers a receiver with ALMAS, the parameters are ReceiverHandle (for # callback); ReceiverID (for use in all other methods, including # UnregisterReceiver) and RKType to provide link to RK hierarchy. # Interface: # Provides the API for systems to respond to and provide feedback to ALMAS about # alertsreceived. Embedded in this class are the methods to register and # un-register your system-specific receiver. # The system notifies ALMAS through this interface of significant events that have # occurred to change the state of an alert. input AlmasRegisterReceiverInput { requestId: Long! receiverId: String! rkType: String! } type AlmasUnregisterReceiverUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasUnregisterReceiver! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Removes a registered receiver from ALMAS, indicating that they are no longer # avail-able for receipt of alert data. # Interface: # Provides the API for systems to respond to and provide feedback to ALMAS about # alertsreceived. Embedded in this class are the methods to register and # un-register your system-specific receiver. # The system notifies ALMAS through this interface of significant events that have # occurred to change the state of an alert. type AlmasUnregisterReceiver { requestId: Long! receiverId: String! } # Operation: # Removes a registered receiver from ALMAS, indicating that they are no longer # avail-able for receipt of alert data. # Interface: # Provides the API for systems to respond to and provide feedback to ALMAS about # alertsreceived. Embedded in this class are the methods to register and # un-register your system-specific receiver. # The system notifies ALMAS through this interface of significant events that have # occurred to change the state of an alert. input AlmasUnregisterReceiverInput { requestId: Long! receiverId: String! } type AlmasRaiseAlertWithDynamicDataUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasRaiseAlertWithDynamicData! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # This will cause an alert based on a known alert template # to be created and raised, whilst only specifying the dynamic data content that # differs from the template definition. # All parameters are mandatory # Return parameter indicates success or failure reason. # Interface: # Provides the API by which system objects producing alerts can create and update # alerts that are generated. A CallStatus object will be returned to indicate # whether the request has been accepted by ALMAS. If a system wished to track the # lifecycle of the alert, they must implement the NotificationListener # functionality to receive updates. # Three mechanisms by which alerts can be raised are provided by the ALMASProducer # interface class. Two variants RaiseAlertFromTemplate and RaiseAlertFromOverrides # allow the system to raise an alert by simply specifying the alert ID, template ID # and their own ProducerID, one of these also allows the over-ride of any # placeholders that may be present in the ‘Message’ attribute of the alert data # class associated with that template. The raiser may also optionally override any # of the following parameters: Message, MessageLanguage, Category, Status, Scope, # Timeout, ConfirmationRequired, AlertReceiverSet, Priority, TimeoutAction and # AcknowledgementModel. # The RaiseAlertFromData method allows the raiser to specify a completely new alert # with no basis on any existing templates. Systems using ALMAS may not wish to # support alert templates depending on their size, complexity and level of alert # usage, in which case that system can always use RaiseAlertFromData without need # to instantiate any templates at any point during operation. # The status or attributes of an alert can be updated during runtime by calling the # UpdateAlert method found in the ALMASProducer interface. The ALMASProducer then # works with the ALMAS system to ensure state and data is properly maintained in # the system. type AlmasRaiseAlertWithDynamicData { requestId: Long! producerId: String! templateId: Int! dynamicMessages: [AlmasDynamicMessageDataType!]! } # Operation: # This will cause an alert based on a known alert template # to be created and raised, whilst only specifying the dynamic data content that # differs from the template definition. # All parameters are mandatory # Return parameter indicates success or failure reason. # Interface: # Provides the API by which system objects producing alerts can create and update # alerts that are generated. A CallStatus object will be returned to indicate # whether the request has been accepted by ALMAS. If a system wished to track the # lifecycle of the alert, they must implement the NotificationListener # functionality to receive updates. # Three mechanisms by which alerts can be raised are provided by the ALMASProducer # interface class. Two variants RaiseAlertFromTemplate and RaiseAlertFromOverrides # allow the system to raise an alert by simply specifying the alert ID, template ID # and their own ProducerID, one of these also allows the over-ride of any # placeholders that may be present in the ‘Message’ attribute of the alert data # class associated with that template. The raiser may also optionally override any # of the following parameters: Message, MessageLanguage, Category, Status, Scope, # Timeout, ConfirmationRequired, AlertReceiverSet, Priority, TimeoutAction and # AcknowledgementModel. # The RaiseAlertFromData method allows the raiser to specify a completely new alert # with no basis on any existing templates. Systems using ALMAS may not wish to # support alert templates depending on their size, complexity and level of alert # usage, in which case that system can always use RaiseAlertFromData without need # to instantiate any templates at any point during operation. # The status or attributes of an alert can be updated during runtime by calling the # UpdateAlert method found in the ALMASProducer interface. The ALMASProducer then # works with the ALMAS system to ensure state and data is properly maintained in # the system. input AlmasRaiseAlertWithDynamicDataInput { requestId: Long! producerId: String! templateId: Int! dynamicMessages: [AlmasDynamicMessageDataTypeInput!]! } type AlmasRaiseAlertFromDataUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasRaiseAlertFromData! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Raises an alert not present in the ALMAS template # database. A temporary AlertTemaplate is created (whose TemplateID is ignored), # to facilitate the creation. # Return parameter indicates success or failure reason. # Interface: # Provides the API by which system objects producing alerts can create and update # alerts that are generated. A CallStatus object will be returned to indicate # whether the request has been accepted by ALMAS. If a system wished to track the # lifecycle of the alert, they must implement the NotificationListener # functionality to receive updates. # Three mechanisms by which alerts can be raised are provided by the ALMASProducer # interface class. Two variants RaiseAlertFromTemplate and RaiseAlertFromOverrides # allow the system to raise an alert by simply specifying the alert ID, template ID # and their own ProducerID, one of these also allows the over-ride of any # placeholders that may be present in the ‘Message’ attribute of the alert data # class associated with that template. The raiser may also optionally override any # of the following parameters: Message, MessageLanguage, Category, Status, Scope, # Timeout, ConfirmationRequired, AlertReceiverSet, Priority, TimeoutAction and # AcknowledgementModel. # The RaiseAlertFromData method allows the raiser to specify a completely new alert # with no basis on any existing templates. Systems using ALMAS may not wish to # support alert templates depending on their size, complexity and level of alert # usage, in which case that system can always use RaiseAlertFromData without need # to instantiate any templates at any point during operation. # The status or attributes of an alert can be updated during runtime by calling the # UpdateAlert method found in the ALMASProducer interface. The ALMASProducer then # works with the ALMAS system to ensure state and data is properly maintained in # the system. type AlmasRaiseAlertFromData { requestId: Long! producerId: String! alertInfo: AlmasAlertTemplateType } # Operation: # Raises an alert not present in the ALMAS template # database. A temporary AlertTemaplate is created (whose TemplateID is ignored), # to facilitate the creation. # Return parameter indicates success or failure reason. # Interface: # Provides the API by which system objects producing alerts can create and update # alerts that are generated. A CallStatus object will be returned to indicate # whether the request has been accepted by ALMAS. If a system wished to track the # lifecycle of the alert, they must implement the NotificationListener # functionality to receive updates. # Three mechanisms by which alerts can be raised are provided by the ALMASProducer # interface class. Two variants RaiseAlertFromTemplate and RaiseAlertFromOverrides # allow the system to raise an alert by simply specifying the alert ID, template ID # and their own ProducerID, one of these also allows the over-ride of any # placeholders that may be present in the ‘Message’ attribute of the alert data # class associated with that template. The raiser may also optionally override any # of the following parameters: Message, MessageLanguage, Category, Status, Scope, # Timeout, ConfirmationRequired, AlertReceiverSet, Priority, TimeoutAction and # AcknowledgementModel. # The RaiseAlertFromData method allows the raiser to specify a completely new alert # with no basis on any existing templates. Systems using ALMAS may not wish to # support alert templates depending on their size, complexity and level of alert # usage, in which case that system can always use RaiseAlertFromData without need # to instantiate any templates at any point during operation. # The status or attributes of an alert can be updated during runtime by calling the # UpdateAlert method found in the ALMASProducer interface. The ALMASProducer then # works with the ALMAS system to ensure state and data is properly maintained in # the system. input AlmasRaiseAlertFromDataInput { requestId: Long! producerId: String! alertInfo: AlmasAlertTemplateTypeInput } type AlmasUpdateAlertPriorityUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasUpdateAlertPriority! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Update an existing raised alert instance's priority. # Interface: # Provides the API by which system objects producing alerts can create and update # alerts that are generated. A CallStatus object will be returned to indicate # whether the request has been accepted by ALMAS. If a system wished to track the # lifecycle of the alert, they must implement the NotificationListener # functionality to receive updates. # Three mechanisms by which alerts can be raised are provided by the ALMASProducer # interface class. Two variants RaiseAlertFromTemplate and RaiseAlertFromOverrides # allow the system to raise an alert by simply specifying the alert ID, template ID # and their own ProducerID, one of these also allows the over-ride of any # placeholders that may be present in the ‘Message’ attribute of the alert data # class associated with that template. The raiser may also optionally override any # of the following parameters: Message, MessageLanguage, Category, Status, Scope, # Timeout, ConfirmationRequired, AlertReceiverSet, Priority, TimeoutAction and # AcknowledgementModel. # The RaiseAlertFromData method allows the raiser to specify a completely new alert # with no basis on any existing templates. Systems using ALMAS may not wish to # support alert templates depending on their size, complexity and level of alert # usage, in which case that system can always use RaiseAlertFromData without need # to instantiate any templates at any point during operation. # The status or attributes of an alert can be updated during runtime by calling the # UpdateAlert method found in the ALMASProducer interface. The ALMASProducer then # works with the ALMAS system to ensure state and data is properly maintained in # the system. type AlmasUpdateAlertPriority { requestId: Long! producerId: String! alertId: Int! priority: Short! } # Operation: # Update an existing raised alert instance's priority. # Interface: # Provides the API by which system objects producing alerts can create and update # alerts that are generated. A CallStatus object will be returned to indicate # whether the request has been accepted by ALMAS. If a system wished to track the # lifecycle of the alert, they must implement the NotificationListener # functionality to receive updates. # Three mechanisms by which alerts can be raised are provided by the ALMASProducer # interface class. Two variants RaiseAlertFromTemplate and RaiseAlertFromOverrides # allow the system to raise an alert by simply specifying the alert ID, template ID # and their own ProducerID, one of these also allows the over-ride of any # placeholders that may be present in the ‘Message’ attribute of the alert data # class associated with that template. The raiser may also optionally override any # of the following parameters: Message, MessageLanguage, Category, Status, Scope, # Timeout, ConfirmationRequired, AlertReceiverSet, Priority, TimeoutAction and # AcknowledgementModel. # The RaiseAlertFromData method allows the raiser to specify a completely new alert # with no basis on any existing templates. Systems using ALMAS may not wish to # support alert templates depending on their size, complexity and level of alert # usage, in which case that system can always use RaiseAlertFromData without need # to instantiate any templates at any point during operation. # The status or attributes of an alert can be updated during runtime by calling the # UpdateAlert method found in the ALMASProducer interface. The ALMASProducer then # works with the ALMAS system to ensure state and data is properly maintained in # the system. input AlmasUpdateAlertPriorityInput { requestId: Long! producerId: String! alertId: Int! priority: Short! } type AlmasCancelAlertUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasCancelAlert! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Cancel a specific alert within ALMAS # Return parameter indicates success or failure reason. # Interface: # Provides the API by which system objects producing alerts can create and update # alerts that are generated. A CallStatus object will be returned to indicate # whether the request has been accepted by ALMAS. If a system wished to track the # lifecycle of the alert, they must implement the NotificationListener # functionality to receive updates. # Three mechanisms by which alerts can be raised are provided by the ALMASProducer # interface class. Two variants RaiseAlertFromTemplate and RaiseAlertFromOverrides # allow the system to raise an alert by simply specifying the alert ID, template ID # and their own ProducerID, one of these also allows the over-ride of any # placeholders that may be present in the ‘Message’ attribute of the alert data # class associated with that template. The raiser may also optionally override any # of the following parameters: Message, MessageLanguage, Category, Status, Scope, # Timeout, ConfirmationRequired, AlertReceiverSet, Priority, TimeoutAction and # AcknowledgementModel. # The RaiseAlertFromData method allows the raiser to specify a completely new alert # with no basis on any existing templates. Systems using ALMAS may not wish to # support alert templates depending on their size, complexity and level of alert # usage, in which case that system can always use RaiseAlertFromData without need # to instantiate any templates at any point during operation. # The status or attributes of an alert can be updated during runtime by calling the # UpdateAlert method found in the ALMASProducer interface. The ALMASProducer then # works with the ALMAS system to ensure state and data is properly maintained in # the system. type AlmasCancelAlert { requestId: Long! cancellerId: String! alertId: Int! cancellationReason: String! } # Operation: # Cancel a specific alert within ALMAS # Return parameter indicates success or failure reason. # Interface: # Provides the API by which system objects producing alerts can create and update # alerts that are generated. A CallStatus object will be returned to indicate # whether the request has been accepted by ALMAS. If a system wished to track the # lifecycle of the alert, they must implement the NotificationListener # functionality to receive updates. # Three mechanisms by which alerts can be raised are provided by the ALMASProducer # interface class. Two variants RaiseAlertFromTemplate and RaiseAlertFromOverrides # allow the system to raise an alert by simply specifying the alert ID, template ID # and their own ProducerID, one of these also allows the over-ride of any # placeholders that may be present in the ‘Message’ attribute of the alert data # class associated with that template. The raiser may also optionally override any # of the following parameters: Message, MessageLanguage, Category, Status, Scope, # Timeout, ConfirmationRequired, AlertReceiverSet, Priority, TimeoutAction and # AcknowledgementModel. # The RaiseAlertFromData method allows the raiser to specify a completely new alert # with no basis on any existing templates. Systems using ALMAS may not wish to # support alert templates depending on their size, complexity and level of alert # usage, in which case that system can always use RaiseAlertFromData without need # to instantiate any templates at any point during operation. # The status or attributes of an alert can be updated during runtime by calling the # UpdateAlert method found in the ALMASProducer interface. The ALMASProducer then # works with the ALMAS system to ensure state and data is properly maintained in # the system. input AlmasCancelAlertInput { requestId: Long! cancellerId: String! alertId: Int! cancellationReason: String! } type AlmasAcknowledgeAlertUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasAcknowledgeAlert! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Indication from an alert receiver that they have acknowledged receipt of the # alert and no longer require distribution of its information. # Interface: # Provides the API for systems to respond to and provide feedback to ALMAS about # alertsreceived. Embedded in this class are the methods to register and # un-register your system-specific receiver. # The system notifies ALMAS through this interface of significant events that have # occurred to change the state of an alert. type AlmasAcknowledgeAlert { requestId: Long! alertId: Int! receiverId: String! } # Operation: # Indication from an alert receiver that they have acknowledged receipt of the # alert and no longer require distribution of its information. # Interface: # Provides the API for systems to respond to and provide feedback to ALMAS about # alertsreceived. Embedded in this class are the methods to register and # un-register your system-specific receiver. # The system notifies ALMAS through this interface of significant events that have # occurred to change the state of an alert. input AlmasAcknowledgeAlertInput { requestId: Long! alertId: Int! receiverId: String! } type AlmasHandleAlertUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasHandleAlert! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Indication from an Alert Receiver that they have performed the appropriate action # required by an Action alert and that the alert can therefore be removed from # ALMAS as no longer applicable. # Interface: # Provides the API for systems to respond to and provide feedback to ALMAS about # alertsreceived. Embedded in this class are the methods to register and # un-register your system-specific receiver. # The system notifies ALMAS through this interface of significant events that have # occurred to change the state of an alert. type AlmasHandleAlert { requestId: Long! alertId: Int! receiverId: String! } # Operation: # Indication from an Alert Receiver that they have performed the appropriate action # required by an Action alert and that the alert can therefore be removed from # ALMAS as no longer applicable. # Interface: # Provides the API for systems to respond to and provide feedback to ALMAS about # alertsreceived. Embedded in this class are the methods to register and # un-register your system-specific receiver. # The system notifies ALMAS through this interface of significant events that have # occurred to change the state of an alert. input AlmasHandleAlertInput { requestId: Long! alertId: Int! receiverId: String! } type AlmasConfirmReceiptUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasConfirmReceipt! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Confirmation by an alert receiver that they have successfully received the alert # to ensure reliable distribution. The ReceiverID field enables action & situation # alerts to transition when sufficient confirmations have been received. # 'Sufficient' is the 'actionee' for action alerts, and anyone for situation # alerts. It can also be used for logging purposes. # Interface: # Provides the API for systems to respond to and provide feedback to ALMAS about # alertsreceived. Embedded in this class are the methods to register and # un-register your system-specific receiver. # The system notifies ALMAS through this interface of significant events that have # occurred to change the state of an alert. type AlmasConfirmReceipt { requestId: Long! alertId: Int! receiverId: String! } # Operation: # Confirmation by an alert receiver that they have successfully received the alert # to ensure reliable distribution. The ReceiverID field enables action & situation # alerts to transition when sufficient confirmations have been received. # 'Sufficient' is the 'actionee' for action alerts, and anyone for situation # alerts. It can also be used for logging purposes. # Interface: # Provides the API for systems to respond to and provide feedback to ALMAS about # alertsreceived. Embedded in this class are the methods to register and # un-register your system-specific receiver. # The system notifies ALMAS through this interface of significant events that have # occurred to change the state of an alert. input AlmasConfirmReceiptInput { requestId: Long! alertId: Int! receiverId: String! } type AlmasSetLanguageUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasSetLanguage! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Sets the language that this specific receiver should see their message text # displayed in where appropriate. # Interface: # Optional extensions to the alert responder functionality. type AlmasSetLanguage { requestId: Long! receiverId: String! language: String! } # Operation: # Sets the language that this specific receiver should see their message text # displayed in where appropriate. # Interface: # Optional extensions to the alert responder functionality. input AlmasSetLanguageInput { requestId: Long! receiverId: String! language: String! } type AlmasGetFilledMessageTextUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasGetFilledMessageText! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # returns the message text post related info substitutions. # This is an optional helper function as the client could derive this itself. # Interface: # Optional extensions to the alert responder functionality. type AlmasGetFilledMessageText { requestId: Long! alertId: Int! receiverId: String! } # Operation: # returns the message text post related info substitutions. # This is an optional helper function as the client could derive this itself. # Interface: # Optional extensions to the alert responder functionality. input AlmasGetFilledMessageTextInput { requestId: Long! alertId: Int! receiverId: String! } type AlmasFilledMessageTextUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasFilledMessageText! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } type AlmasFilledMessageText { requestId: Long! messages: [String!]! } input AlmasFilledMessageTextInput { requestId: Long! messages: [String!]! } type AlmasLoadReceiverHierarchyUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasLoadReceiverHierarchy! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Loads the receiver hierarchy as provided by the client via xml conforming to the # relevant xml schema document. # Interface: # Provides an API by which systems can configure ALMAS to behave in a more tailored # manner in order to satisfy very specific requirements. There are three # categories of configuration file that can be used by ALMAS: the receiver # hierarchy, templates, and configuration information. The string filename is # expected to resolve to either a local file accessible to ALMAS, or a URL # accessible to ALMAS. The returned CallStatus object from each of the methods # provides an indication of success/failure and any additional relevant rationale # describing that status. type AlmasLoadReceiverHierarchy { requestId: Long! filename: String! } # Operation: # Loads the receiver hierarchy as provided by the client via xml conforming to the # relevant xml schema document. # Interface: # Provides an API by which systems can configure ALMAS to behave in a more tailored # manner in order to satisfy very specific requirements. There are three # categories of configuration file that can be used by ALMAS: the receiver # hierarchy, templates, and configuration information. The string filename is # expected to resolve to either a local file accessible to ALMAS, or a URL # accessible to ALMAS. The returned CallStatus object from each of the methods # provides an indication of success/failure and any additional relevant rationale # describing that status. input AlmasLoadReceiverHierarchyInput { requestId: Long! filename: String! } type AlmasLoadTemplateSetUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasLoadTemplateSet! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Loads a template set into the ALMAS database. # Multiple calls to this method result in the union of the new templates with the # existing templates in ALMAS. # Interface: # Provides an API by which systems can configure ALMAS to behave in a more tailored # manner in order to satisfy very specific requirements. There are three # categories of configuration file that can be used by ALMAS: the receiver # hierarchy, templates, and configuration information. The string filename is # expected to resolve to either a local file accessible to ALMAS, or a URL # accessible to ALMAS. The returned CallStatus object from each of the methods # provides an indication of success/failure and any additional relevant rationale # describing that status. type AlmasLoadTemplateSet { requestId: Long! filename: String! } # Operation: # Loads a template set into the ALMAS database. # Multiple calls to this method result in the union of the new templates with the # existing templates in ALMAS. # Interface: # Provides an API by which systems can configure ALMAS to behave in a more tailored # manner in order to satisfy very specific requirements. There are three # categories of configuration file that can be used by ALMAS: the receiver # hierarchy, templates, and configuration information. The string filename is # expected to resolve to either a local file accessible to ALMAS, or a URL # accessible to ALMAS. The returned CallStatus object from each of the methods # provides an indication of success/failure and any additional relevant rationale # describing that status. input AlmasLoadTemplateSetInput { requestId: Long! filename: String! } type AlmasLoadConfigurationUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasLoadConfiguration! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Loads the ALMAS configuration file as provided by the client # Interface: # Provides an API by which systems can configure ALMAS to behave in a more tailored # manner in order to satisfy very specific requirements. There are three # categories of configuration file that can be used by ALMAS: the receiver # hierarchy, templates, and configuration information. The string filename is # expected to resolve to either a local file accessible to ALMAS, or a URL # accessible to ALMAS. The returned CallStatus object from each of the methods # provides an indication of success/failure and any additional relevant rationale # describing that status. type AlmasLoadConfiguration { requestId: Long! filename: String! } # Operation: # Loads the ALMAS configuration file as provided by the client # Interface: # Provides an API by which systems can configure ALMAS to behave in a more tailored # manner in order to satisfy very specific requirements. There are three # categories of configuration file that can be used by ALMAS: the receiver # hierarchy, templates, and configuration information. The string filename is # expected to resolve to either a local file accessible to ALMAS, or a URL # accessible to ALMAS. The returned CallStatus object from each of the methods # provides an indication of success/failure and any additional relevant rationale # describing that status. input AlmasLoadConfigurationInput { requestId: Long! filename: String! } type AlmasUpdateDynamicMessageDataUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasUpdateDynamicMessageData! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Indicates a change to the value of a related object for the provided alert ID. # Old value is necessary in order to clearly indicate which dynamic message data # should be changed # Interface: # The ALMASManager interface provides the minimal set of APIs necessary to track # ALMAS activity. Additionally, the ALMASManager provides the interface in ALMAS # for retrieving Alerts and AlertTemplates, and registering for the notification of # delivery of Alerts. Note that the registration of receivers is done via the # ALMAS Responder class. # Note: The methods found in the ALMASProducer interface allow the system to update # the status or attributes of an alert during runtime. type AlmasUpdateDynamicMessageData { requestId: Long! alertId: Int! dataValue: String! oldData: AlmasDynamicMessageDataType } # Operation: # Indicates a change to the value of a related object for the provided alert ID. # Old value is necessary in order to clearly indicate which dynamic message data # should be changed # Interface: # The ALMASManager interface provides the minimal set of APIs necessary to track # ALMAS activity. Additionally, the ALMASManager provides the interface in ALMAS # for retrieving Alerts and AlertTemplates, and registering for the notification of # delivery of Alerts. Note that the registration of receivers is done via the # ALMAS Responder class. # Note: The methods found in the ALMASProducer interface allow the system to update # the status or attributes of an alert during runtime. input AlmasUpdateDynamicMessageDataInput { requestId: Long! alertId: Int! dataValue: String! oldData: AlmasDynamicMessageDataTypeInput } type AlmasSetAlertInhibitedUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasSetAlertInhibited! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Sets the inhibition status of a specific alert template to suppress or allow the # raising of all alerts of that template. # Interface: # The ALMASManager interface provides the minimal set of APIs necessary to track # ALMAS activity. Additionally, the ALMASManager provides the interface in ALMAS # for retrieving Alerts and AlertTemplates, and registering for the notification of # delivery of Alerts. Note that the registration of receivers is done via the # ALMAS Responder class. # Note: The methods found in the ALMASProducer interface allow the system to update # the status or attributes of an alert during runtime. type AlmasSetAlertInhibited { requestId: Long! templateId: Int! inhibition: Boolean! } # Operation: # Sets the inhibition status of a specific alert template to suppress or allow the # raising of all alerts of that template. # Interface: # The ALMASManager interface provides the minimal set of APIs necessary to track # ALMAS activity. Additionally, the ALMASManager provides the interface in ALMAS # for retrieving Alerts and AlertTemplates, and registering for the notification of # delivery of Alerts. Note that the registration of receivers is done via the # ALMAS Responder class. # Note: The methods found in the ALMASProducer interface allow the system to update # the status or attributes of an alert during runtime. input AlmasSetAlertInhibitedInput { requestId: Long! templateId: Int! inhibition: Boolean! } type AlmasAttachCategorisationRuleUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasAttachCategorisationRule! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Associates a categorisation rule with an AlertTemplate # Interface: # This class contains optional extensions to the alert manager functionality. # These extensions may or may not be implemented in simple ALMAS implementations. type AlmasAttachCategorisationRule { requestId: Long! ruleId: Int! templateId: Int! } # Operation: # Associates a categorisation rule with an AlertTemplate # Interface: # This class contains optional extensions to the alert manager functionality. # These extensions may or may not be implemented in simple ALMAS implementations. input AlmasAttachCategorisationRuleInput { requestId: Long! ruleId: Int! templateId: Int! } type AlmasDetachCategorisationRuleUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasDetachCategorisationRule! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Disassociates a categorisation rule from an AlertTemplate # Interface: # This class contains optional extensions to the alert manager functionality. # These extensions may or may not be implemented in simple ALMAS implementations. type AlmasDetachCategorisationRule { requestId: Long! ruleId: Int! templateId: Int! } # Operation: # Disassociates a categorisation rule from an AlertTemplate # Interface: # This class contains optional extensions to the alert manager functionality. # These extensions may or may not be implemented in simple ALMAS implementations. input AlmasDetachCategorisationRuleInput { requestId: Long! ruleId: Int! templateId: Int! } type AlmasRemoveAlertsWithDynamicMessageDataUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasRemoveAlertsWithDynamicMessageData! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # Indicates to ALMAS that a specific real world object has been removed, and # therefore all associated alerts are no longer valid. These alerts shall then be # deleted from ALMAS. # Implementation is optional # Interface: # This class contains optional extensions to the alert manager functionality. # These extensions may or may not be implemented in simple ALMAS implementations. type AlmasRemoveAlertsWithDynamicMessageData { requestId: Long! cancellerId: String! dataType: String! dataValue: String! } # Operation: # Indicates to ALMAS that a specific real world object has been removed, and # therefore all associated alerts are no longer valid. These alerts shall then be # deleted from ALMAS. # Implementation is optional # Interface: # This class contains optional extensions to the alert manager functionality. # These extensions may or may not be implemented in simple ALMAS implementations. input AlmasRemoveAlertsWithDynamicMessageDataInput { requestId: Long! cancellerId: String! dataType: String! dataValue: String! } type AlmasRaiseAlertFromOverridesUpdate { # The instance that has been updated (or deleted if Deleted flag is true). instance: AlmasRaiseAlertFromOverrides! # True if the instance has been deleted, false otherwise (i.e. on creation or update). deleted: Boolean! } # Operation: # This will cause an alert based on a known alert template # to be created and raised. # ProducerID, TemplateID and the out parameter AlertID # are mandatory, all other parameters are optional # Return parameter indicates success or failure reason. # Interface: # Provides the API by which system objects producing alerts can create and update # alerts that are generated. A CallStatus object will be returned to indicate # whether the request has been accepted by ALMAS. If a system wished to track the # lifecycle of the alert, they must implement the NotificationListener # functionality to receive updates. # Three mechanisms by which alerts can be raised are provided by the ALMASProducer # interface class. Two variants RaiseAlertFromTemplate and RaiseAlertFromOverrides # allow the system to raise an alert by simply specifying the alert ID, template ID # and their own ProducerID, one of these also allows the over-ride of any # placeholders that may be present in the ‘Message’ attribute of the alert data # class associated with that template. The raiser may also optionally override any # of the following parameters: Message, MessageLanguage, Category, Status, Scope, # Timeout, ConfirmationRequired, AlertReceiverSet, Priority, TimeoutAction and # AcknowledgementModel. # The RaiseAlertFromData method allows the raiser to specify a completely new alert # with no basis on any existing templates. Systems using ALMAS may not wish to # support alert templates depending on their size, complexity and level of alert # usage, in which case that system can always use RaiseAlertFromData without need # to instantiate any templates at any point during operation. # The status or attributes of an alert can be updated during runtime by calling the # UpdateAlert method found in the ALMASProducer interface. The ALMASProducer then # works with the ALMAS system to ensure state and data is properly maintained in # the system. type AlmasRaiseAlertFromOverrides { requestId: Long! producerId: String! templateId: Int! category: AlmasCategoryType priority: Short status: AlmasStatusType scope: AlmasScopeType timeout: Int confirmationRequired: Boolean secondaryGrouping: String persistent: Boolean reliablyDistributed: Boolean timeoutAction: AlmasTimeoutActionType acknowledgementModel: AlmasAckModelType staticMessages: [AlmasStaticMessageType!] dynamicMessages: [AlmasDynamicMessageDataType!] } # Operation: # This will cause an alert based on a known alert template # to be created and raised. # ProducerID, TemplateID and the out parameter AlertID # are mandatory, all other parameters are optional # Return parameter indicates success or failure reason. # Interface: # Provides the API by which system objects producing alerts can create and update # alerts that are generated. A CallStatus object will be returned to indicate # whether the request has been accepted by ALMAS. If a system wished to track the # lifecycle of the alert, they must implement the NotificationListener # functionality to receive updates. # Three mechanisms by which alerts can be raised are provided by the ALMASProducer # interface class. Two variants RaiseAlertFromTemplate and RaiseAlertFromOverrides # allow the system to raise an alert by simply specifying the alert ID, template ID # and their own ProducerID, one of these also allows the over-ride of any # placeholders that may be present in the ‘Message’ attribute of the alert data # class associated with that template. The raiser may also optionally override any # of the following parameters: Message, MessageLanguage, Category, Status, Scope, # Timeout, ConfirmationRequired, AlertReceiverSet, Priority, TimeoutAction and # AcknowledgementModel. # The RaiseAlertFromData method allows the raiser to specify a completely new alert # with no basis on any existing templates. Systems using ALMAS may not wish to # support alert templates depending on their size, complexity and level of alert # usage, in which case that system can always use RaiseAlertFromData without need # to instantiate any templates at any point during operation. # The status or attributes of an alert can be updated during runtime by calling the # UpdateAlert method found in the ALMASProducer interface. The ALMASProducer then # works with the ALMAS system to ensure state and data is properly maintained in # the system. input AlmasRaiseAlertFromOverridesInput { requestId: Long! producerId: String! templateId: Int! category: AlmasCategoryType! priority: Short status: AlmasStatusType! scope: AlmasScopeType! timeout: Int confirmationRequired: Boolean secondaryGrouping: String persistent: Boolean reliablyDistributed: Boolean timeoutAction: AlmasTimeoutActionType! acknowledgementModel: AlmasAckModelType! staticMessages: [AlmasStaticMessageTypeInput!] dynamicMessages: [AlmasDynamicMessageDataTypeInput!] }