{ "swagger": "2.0", "info": { "title": "OpcPublisher", "description": "", "contact": { "url": "https://www.github.com/Azure/Industrial-IoT" }, "license": { "name": "MIT LICENSE", "url": "https://opensource.org/licenses/MIT" }, "version": "v2" }, "host": "localhost:9071", "schemes": [ "https", "http" ], "paths": { "/v2/pki/{store}/certs": { "get": { "tags": [ "Certificates" ], "summary": "ListCertificates", "description": "Get the certificates in the specified certificate store", "operationId": "ListCertificates", "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "store", "description": "The store to enumerate", "required": true, "type": "string" } ], "responses": { "200": { "description": "The operation was successful.", "schema": { "type": "array", "items": { "$ref": "#/definitions/X509CertificateModel" } } }, "400": { "description": "The passed in information such as store name is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "description": "Nothing could be found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An internal error ocurred.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "patch": { "tags": [ "Certificates" ], "summary": "AddCertificate", "description": "Add a certificate to the specified store. The certificate is provided as a pfx/pkcs12 optionally password protected blob.", "operationId": "AddCertificate", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "store", "description": "The store to add the certificate to", "required": true, "type": "string" }, { "in": "query", "name": "password", "description": "The optional password of the pfx", "type": "string" }, { "in": "body", "name": "body", "description": "The pfx encoded certificate.", "required": true, "schema": { "format": "byte", "type": "string" } } ], "responses": { "200": { "description": "The operation was successful." }, "400": { "description": "The passed in information such as store name is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An internal error ocurred.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/pki/{store}/crls": { "get": { "tags": [ "Certificates" ], "summary": "ListCertificateRevocationLists", "description": "Get the certificates in the specified certificated store", "operationId": "ListCertificateRevocationLists", "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "store", "description": "The store to enumerate", "required": true, "type": "string" } ], "responses": { "200": { "description": "The operation was successful.", "schema": { "type": "array", "items": { "format": "byte", "type": "string" } } }, "400": { "description": "The passed in information such as store name is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "description": "Nothing could be found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An internal error ocurred.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "patch": { "tags": [ "Certificates" ], "summary": "AddCertificateRevocationList", "description": "Add a certificate revocation list to the specified store. The certificate revocation list is provided as a der encoded blob.", "operationId": "AddCertificateRevocationList", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "store", "description": "The store to add the certificate to", "required": true, "type": "string" }, { "in": "body", "name": "body", "description": "The pfx encoded certificate.", "required": true, "schema": { "format": "byte", "type": "string" } } ], "responses": { "200": { "description": "The operation was successful." }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An internal error ocurred.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "delete": { "tags": [ "Certificates" ], "summary": "RemoveCertificateRevocationList", "description": "Remove a certificate revocation list from the specified store.", "operationId": "RemoveCertificateRevocationList", "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "store", "description": "The store to add the certificate to", "required": true, "type": "string" } ], "responses": { "200": { "description": "The operation was successful." }, "400": { "description": "The passed in information such store name is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "description": "Nothing could be found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An internal error ocurred.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/pki/trusted/certs": { "post": { "tags": [ "Certificates" ], "summary": "AddCertificateChain", "description": "Add a certificate chain to the specified store. The certificate is provided as a concatenated asn encoded set of certificates with the first the one to add, and the remainder the issuer chain.", "operationId": "AddCertificateChain", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The certificate chain.", "required": true, "schema": { "format": "byte", "type": "string" } } ], "responses": { "200": { "description": "The operation was successful." }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An internal error ocurred.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/pki/rejected/certs/{thumbprint}/approve": { "post": { "tags": [ "Certificates" ], "summary": "ApproveRejectedCertificate", "description": "Move a rejected certificate from the rejected folder to the trusted folder on the publisher.", "operationId": "ApproveRejectedCertificate", "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "thumbprint", "description": "The thumbprint of the certificate to trust.", "required": true, "type": "string" } ], "responses": { "200": { "description": "The operation was successful." }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An internal error ocurred.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/pki/https/certs": { "post": { "tags": [ "Certificates" ], "summary": "AddTrustedHttpsCertificateAsync", "description": "Add a certificate chain to the trusted https store. The certificate is provided as a concatenated set of certificates with the first the one to add, and the remainder the issuer chain.", "operationId": "AddTrustedHttpsCertificate", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The certificate chain.", "required": true, "schema": { "format": "byte", "type": "string" } } ], "responses": { "200": { "description": "The operation was successful." }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An internal error ocurred.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/pki/{store}/certs/{thumbprint}": { "delete": { "tags": [ "Certificates" ], "summary": "RemoveCertificate", "description": "Remove a certificate with the provided thumbprint from the specified store.", "operationId": "RemoveCertificate", "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "store", "description": "The store to add the certificate to", "required": true, "type": "string" }, { "in": "path", "name": "thumbprint", "description": "The thumbprint of the certificate to delete.", "required": true, "type": "string" } ], "responses": { "200": { "description": "The operation was successful." }, "400": { "description": "The passed in information such store name is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "description": "Nothing could be found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An internal error ocurred.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/pki/{store}": { "delete": { "tags": [ "Certificates" ], "summary": "RemoveAll", "description": "Remove all certificates and revocation lists from the specified store.", "operationId": "RemoveAll", "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "store", "description": "The store to add the certificate to", "required": true, "type": "string" } ], "responses": { "200": { "description": "The operation was successful." }, "400": { "description": "The passed in information such store name is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "description": "Nothing could be found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An internal error ocurred.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/configuration/start": { "post": { "tags": [ "Configuration" ], "summary": "PublishStart", "description": "Start publishing values from a node on a server. The group field in the Connection Model can be used to specify a writer group identifier that will be used in the configuration entry that is created from it inside OPC Publisher.", "operationId": "PublishStart", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The server and node to publish.", "required": true, "schema": { "$ref": "#/definitions/PublishStartRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful.", "schema": { "$ref": "#/definitions/PublishStartResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/configuration/stop": { "post": { "tags": [ "Configuration" ], "summary": "PublishStop", "description": "Stop publishing values from a node on the specified server. The group field that was used in the Connection Model to start publishing must also be specified in this connection model.", "operationId": "PublishStop", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The node to stop publishing", "required": true, "schema": { "$ref": "#/definitions/PublishStopRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful.", "schema": { "$ref": "#/definitions/PublishStopResponseModel" } }, "404": { "description": "The item could not be unpublished", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/configuration/bulk": { "post": { "tags": [ "Configuration" ], "summary": "PublishBulk", "description": "Configure node values to publish and unpublish in bulk. The group field in the Connection Model can be used to specify a writer group identifier that will be used in the configuration entry that is created from it inside OPC Publisher.", "operationId": "PublishBulk", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The nodes to publish or unpublish.", "required": true, "schema": { "$ref": "#/definitions/PublishBulkRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful.", "schema": { "$ref": "#/definitions/PublishBulkResponseModel" } }, "404": { "description": "The item could not be unpublished", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/configuration/list": { "post": { "tags": [ "Configuration" ], "summary": "PublishList", "description": "Get all published nodes for a server endpoint. The group field that was used in the Connection Model to start publishing must also be specified in this connection model.", "operationId": "PublishList", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "", "required": true, "schema": { "$ref": "#/definitions/PublishedItemListRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The items were found and returned.", "schema": { "$ref": "#/definitions/PublishedItemListResponseModel" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/configuration/nodes": { "post": { "tags": [ "Configuration" ], "summary": "[PublishNodes](./directmethods.md#publishnodes_v1)", "description": "PublishNodes enables a client to add a set of nodes to be published. Further information is provided in the OPC Publisher documentation.", "operationId": "PublishNodes", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request contains the nodes to publish.", "required": true, "schema": { "$ref": "#/definitions/PublishedNodesEntryModel" } } ], "responses": { "200": { "description": "The operation was successful.", "schema": { "$ref": "#/definitions/PublishedNodesResponseModel" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/configuration/nodes/unpublish": { "post": { "tags": [ "Configuration" ], "summary": "[UnpublishNodes](./directmethods.md#unpublishnodes_v1)", "description": "UnpublishNodes method enables a client to remove nodes from a previously configured DataSetWriter. Further information is provided in the OPC Publisher documentation.", "operationId": "UnpublishNodes", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload specifying the nodes to unpublish.", "required": true, "schema": { "$ref": "#/definitions/PublishedNodesEntryModel" } } ], "responses": { "200": { "description": "The operation was successful.", "schema": { "$ref": "#/definitions/PublishedNodesResponseModel" } }, "404": { "description": "The nodes could not be unpublished", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/configuration/nodes/unpublish/all": { "post": { "tags": [ "Configuration" ], "summary": "[UnpublishAllNodes](./directmethods.md#unpublishallnodes_v1)", "description": "Unpublish all specified nodes or all nodes in the publisher configuration. Further information is provided in the OPC Publisher documentation.", "operationId": "UnpublishAllNodes", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request contains the parts of the configuration to remove.", "schema": { "$ref": "#/definitions/PublishedNodesEntryModel" } } ], "responses": { "200": { "description": "The operation was successful.", "schema": { "$ref": "#/definitions/PublishedNodesResponseModel" } }, "404": { "description": "The nodes could not be unpublished", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/configuration": { "patch": { "tags": [ "Configuration" ], "summary": "[AddOrUpdateEndpoints](./directmethods.md#addorupdateendpoints_v1)", "description": "Add or update endpoint configuration and nodes on a server. Further information is provided in the OPC Publisher documentation.", "operationId": "AddOrUpdateEndpoints", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The parts of the configuration to add or update.", "required": true, "schema": { "type": "array", "items": { "$ref": "#/definitions/PublishedNodesEntryModel" } } } ], "responses": { "200": { "description": "The operation was successful.", "schema": { "$ref": "#/definitions/PublishedNodesResponseModel" } }, "404": { "description": "The endpoint was not found to add to", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "get": { "tags": [ "Configuration" ], "summary": "[GetConfiguredEndpoints](./directmethods.md#getconfiguredendpoints_v1)", "description": "Get a list of nodes under a configured endpoint in the configuration. Further information is provided in the OPC Publisher documentation. configuration.", "operationId": "GetConfiguredEndpoints", "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "query", "name": "IncludeNodes", "description": "Include nodes that make up the configuration", "type": "boolean" } ], "responses": { "200": { "description": "The data was retrieved.", "schema": { "$ref": "#/definitions/GetConfiguredEndpointsResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "put": { "tags": [ "Configuration" ], "summary": "[SetConfiguredEndpoints](./directmethods.md#setconfiguredendpoints_v1)", "description": "Enables clients to update the entire published nodes configuration in one call. This includes clearing the existing configuration. Further information is provided in the OPC Publisher documentation. configuration.", "operationId": "SetConfiguredEndpoints", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The new published nodes configuration", "required": true, "schema": { "$ref": "#/definitions/SetConfiguredEndpointsRequestModel" } } ], "responses": { "200": { "description": "The operation was successful." }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/configuration/endpoints/list/nodes": { "post": { "tags": [ "Configuration" ], "summary": "[GetConfiguredNodesOnEndpoint](./directmethods.md#getconfigurednodesonendpoint_v)", "description": "Get the nodes of a published nodes entry object returned earlier from a call to GetConfiguredEndpoints. Further information is provided in the OPC Publisher documentation.", "operationId": "GetConfiguredNodesOnEndpoint", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The entry model from a call to GetConfiguredEndpoints for which to gather the nodes.", "required": true, "schema": { "$ref": "#/definitions/PublishedNodesEntryModel" } } ], "responses": { "200": { "description": "The information was returned.", "schema": { "$ref": "#/definitions/GetConfiguredNodesOnEndpointResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "description": "The entry was not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/configuration/diagnostics": { "post": { "tags": [ "Configuration" ], "summary": "[GetDiagnosticInfo](./directmethods.md#getdiagnosticinfo_v1)", "description": "Get the list of diagnostics info for all dataset writers in the OPC Publisher at the point the call is received. Further information is provided in the OPC Publisher documentation.", "operationId": "GetDiagnosticInfo", "produces": [ "application/json", "application/x-msgpack" ], "responses": { "200": { "description": "The operation was successful.", "schema": { "type": "array", "items": { "$ref": "#/definitions/PublishDiagnosticInfoModel" } } }, "405": { "description": "Call not supported or functionality disabled.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/reset": { "get": { "tags": [ "Diagnostics" ], "summary": "ResetAllConnections", "description": "Can be used to reset all established connections causing a full reconnect and recreate of all subscriptions.", "operationId": "ResetAllConnections", "produces": [ "application/json", "application/x-msgpack" ], "responses": { "200": { "description": "The operation was successful." }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/connections": { "get": { "tags": [ "Diagnostics" ], "summary": "GetActiveConnections", "description": "Get all active connections the publisher is currently managing.", "operationId": "GetActiveConnections", "produces": [ "application/json", "application/x-msgpack" ], "responses": { "200": { "description": "The operation was successful.", "schema": { "type": "array", "items": { "$ref": "#/definitions/ConnectionModel" } } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/diagnostics/connections": { "get": { "tags": [ "Diagnostics" ], "summary": "GetConnectionDiagnostics", "description": "Get diagnostics for all active clients including server and client session diagnostics.", "operationId": "GetConnectionDiagnostics", "produces": [ "application/json", "application/x-msgpack" ], "responses": { "200": { "description": "The operation was successful.", "schema": { "$ref": "#/definitions/ConnectionDiagnosticsModelIAsyncEnumerable" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/diagnostics/channels": { "get": { "tags": [ "Diagnostics" ], "summary": "GetChannelDiagnostics", "description": "Get channel diagnostic information for all connections.", "operationId": "GetChannelDiagnostics", "produces": [ "application/json", "application/x-msgpack" ], "responses": { "200": { "description": "The operation was successful.", "schema": { "type": "array", "items": { "$ref": "#/definitions/ChannelDiagnosticModel" } } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/diagnostics/channels/watch": { "get": { "tags": [ "Diagnostics" ], "summary": "WatchChannelDiagnostics", "description": "Get channel diagnostic information for all connections. The first set of diagnostics are the diagnostics active for all connections, continue reading to get updates.", "operationId": "WatchChannelDiagnostics", "produces": [ "application/json", "application/x-msgpack" ], "responses": { "200": { "description": "The operation was successful.", "schema": { "$ref": "#/definitions/ChannelDiagnosticModelIAsyncEnumerable" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/discovery/findserver": { "post": { "tags": [ "Discovery" ], "summary": "FindServer", "description": "Find servers matching the specified endpoint query spec.", "operationId": "FindServer", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The endpoint query specifying the matching criteria for the discovered endpoints.", "required": true, "schema": { "$ref": "#/definitions/ServerEndpointQueryModel" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/ApplicationRegistrationModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/discovery/register": { "post": { "tags": [ "Discovery" ], "summary": "Register", "description": "Start server registration. The results of the registration are published as events to the default event transport.", "operationId": "Register", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "Contains all information to perform the registration request including discovery url to use.", "required": true, "schema": { "$ref": "#/definitions/ServerRegistrationRequestModel" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "type": "boolean" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/discovery": { "post": { "tags": [ "Discovery" ], "summary": "Discover", "description": "Start network discovery using the provided discovery request configuration. The discovery results are published to the configured default event transport.", "operationId": "Discover", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The discovery configuration to use during the discovery run.", "required": true, "schema": { "$ref": "#/definitions/DiscoveryRequestModel" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "type": "boolean" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/discovery/cancel": { "post": { "tags": [ "Discovery" ], "summary": "Cancel", "description": "Cancel a discovery run that is ongoing using the discovery request token specified in the discover operation.", "operationId": "Cancel", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The information needed to cancel the discovery operation.", "required": true, "schema": { "$ref": "#/definitions/DiscoveryCancelRequestModel" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "type": "boolean" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/filesystem/list": { "post": { "tags": [ "FileSystem" ], "summary": "GetFileSystems", "description": "Gets all file systems of the server.", "operationId": "GetFileSystems", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/ConnectionModel" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/FileSystemObjectModelServiceResponseIAsyncEnumerable" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/filesystem/list/directories": { "post": { "tags": [ "FileSystem" ], "summary": "GetDirectories", "description": "Gets all directories in a directory or file system", "operationId": "GetDirectories", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The directory or filesystem object and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/FileSystemObjectModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/FileSystemObjectModelIEnumerableServiceResponse" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/filesystem/list/files": { "post": { "tags": [ "FileSystem" ], "summary": "GetFiles", "description": "Get files in a directory or file system on a server.", "operationId": "GetFiles", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The directory or filesystem object and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/FileSystemObjectModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/FileSystemObjectModelIEnumerableServiceResponse" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/filesystem/parent": { "post": { "tags": [ "FileSystem" ], "summary": "GetParent", "description": "Gets the parent directory or filesystem of a file or directory.", "operationId": "GetParent", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The file or directory object and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/FileSystemObjectModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/FileSystemObjectModelServiceResponse" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/filesystem/info/file": { "post": { "tags": [ "FileSystem" ], "summary": "GetFileInfo", "description": "Gets the file information for a file on the server.", "operationId": "GetFileInfo", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The file object and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/FileSystemObjectModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/FileInfoModelServiceResponse" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/filesystem/create/file/{name}": { "post": { "tags": [ "FileSystem" ], "summary": "CreateFile", "description": "Create a new file in a directory or file system on the server", "operationId": "CreateFile", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "name", "description": "The name of the file to create as child under the directory or filesystem provided", "required": true, "type": "string" }, { "in": "body", "name": "body", "description": "The file system or directory object to create the file in and the connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/FileSystemObjectModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/FileSystemObjectModelServiceResponse" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/filesystem/create/directory/{name}": { "post": { "tags": [ "FileSystem" ], "summary": "CreateDirectory", "description": "Create a new directory in an existing file system or directory on the server.", "operationId": "CreateDirectory", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "name", "description": "The name of the directory to create as child under the parent directory provided", "required": true, "type": "string" }, { "in": "body", "name": "body", "description": "The file system or directory object to create the directory in and the connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/FileSystemObjectModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/FileSystemObjectModelServiceResponse" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/filesystem/delete": { "post": { "tags": [ "FileSystem" ], "summary": "DeleteFileSystemObject", "description": "Delete a file or directory in an existing file system on the server.", "operationId": "DeleteFileSystemObject", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The file or directory object to delete and the connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/FileSystemObjectModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/ServiceResultModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/filesystem/delete/{fileOrDirectoryNodeId}": { "post": { "tags": [ "FileSystem" ], "summary": "DeleteFileOrDirectory", "description": "Delete a file or directory in the specified directory or file system.", "operationId": "DeleteFileOrDirectory", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "fileOrDirectoryNodeId", "description": "The node id of the file or directory to delete", "required": true, "type": "string" }, { "in": "body", "name": "body", "description": "The filesystem or directory object in which to delete the specified file or directory and the connection to use for the operation.", "required": true, "schema": { "$ref": "#/definitions/FileSystemObjectModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/ServiceResultModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/filesystem/download": { "get": { "tags": [ "FileSystem" ], "summary": "Download", "description": "Download a file from the server", "operationId": "Download", "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "header", "name": "x-ms-connection", "description": "The connection information identifying the server to connect to perform the operation on. This is passed as json serialized via the header \"x-ms-connection\"", "required": true, "type": "string" }, { "in": "header", "name": "x-ms-target", "description": "The file object to upload. This is passed as json serialized via the header \"x-ms-target\"", "required": true, "type": "string" } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information." }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/filesystem/upload": { "post": { "tags": [ "FileSystem" ], "summary": "Upload", "description": "Upload a file to the server.", "operationId": "Upload", "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "header", "name": "x-ms-connection", "description": "The connection information identifying the server to connect to perform the operation on. This is passed as json serialized via the header \"x-ms-connection\"", "required": true, "type": "string" }, { "in": "header", "name": "x-ms-target", "description": "The file object to upload. This is passed as json serialized via the header \"x-ms-target\"", "required": true, "type": "string" }, { "in": "header", "name": "x-ms-options", "description": "The file write options to use passed as header \"x-ms-mode\"", "required": true, "type": "string" } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information." }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/capabilities": { "post": { "tags": [ "General" ], "summary": "GetServerCapabilities", "description": "Get the capabilities of the server. The server capabilities are exposed as a property of the server object and this method provides a convinient way to retrieve them.", "operationId": "GetServerCapabilities", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/RequestHeaderModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/ServerCapabilitiesModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/browse/first": { "post": { "tags": [ "General" ], "summary": "Browse", "description": "Browse a a node to discover its references. For more information consult the relevant section of the OPC UA reference specification. The operation might return a continuation token. The continuation token can be used in the BrowseNext method call to retrieve the remainder of references or additional continuation tokens.", "operationId": "Browse", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/BrowseFirstRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/BrowseFirstResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/browse/next": { "post": { "tags": [ "General" ], "summary": "BrowseNext", "description": "Browse next", "operationId": "BrowseNext", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/BrowseNextRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/BrowseNextResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/browse": { "post": { "tags": [ "General" ], "summary": "BrowseStream (only HTTP transport)", "description": "Recursively browse a node to discover its references and nodes. The results are returned as a stream of nodes and references. Consult the relevant section of the OPC UA reference specification for more information.", "operationId": "BrowseStream", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/BrowseStreamRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/BrowseStreamChunkModelIAsyncEnumerable" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/browse/path": { "post": { "tags": [ "General" ], "summary": "BrowsePath", "description": "Translate a start node and browse path into 0 or more target nodes. Allows programming aginst types in OPC UA. For more information consult the relevant section of the OPC UA reference specification.", "operationId": "BrowsePath", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/BrowsePathRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/BrowsePathResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/read": { "post": { "tags": [ "General" ], "summary": "ValueRead", "description": "Read the value of a variable node. This uses the service detailed in the relevant section of the OPC UA reference specification.", "operationId": "ValueRead", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/ValueReadRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/ValueReadResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/write": { "post": { "tags": [ "General" ], "summary": "ValueWrite", "description": "Write the value of a variable node. This uses the service detailed in the relevant section of the OPC UA reference specification.", "operationId": "ValueWrite", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/ValueWriteRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/ValueWriteResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/metadata": { "post": { "tags": [ "General" ], "summary": "GetMetadata", "description": "Get the type metadata for a any node. For data type nodes the response contains the data type metadata including fields. For method nodes the output and input arguments metadata is provided. For objects and object types the instance declaration is returned.", "operationId": "GetMetadata", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/NodeMetadataRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/NodeMetadataResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/query/compile": { "post": { "tags": [ "General" ], "summary": "CompileQuery", "description": "Compile a query string into a query spec that can be used when setting up event filters on monitored items that monitor events.", "operationId": "CompileQuery", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The compilation request and connection information.", "required": true, "schema": { "$ref": "#/definitions/QueryCompilationRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/QueryCompilationResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/call/$metadata": { "post": { "tags": [ "General" ], "summary": "MethodMetadata", "description": "Get the metadata for calling the method. This API is obsolete. Use the more powerful GetMetadata method instead.", "operationId": "MethodMetadata", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/MethodMetadataRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/MethodMetadataResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/call": { "post": { "tags": [ "General" ], "summary": "MethodCall", "description": "Call a method on the OPC UA server endpoint with the specified input arguments and received the result in the form of the method output arguments. See the relevant section of the OPC UA reference specification for more information.", "operationId": "MethodCall", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/MethodCallRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/MethodCallResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/read/attributes": { "post": { "tags": [ "General" ], "summary": "NodeRead", "description": "Read any writeable attribute of a specified node on the server. See the relevant section of the OPC UA reference specification for more information. The attributes supported by the node are dependend on the node class of the node.", "operationId": "NodeRead", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/ReadRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/ReadResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/write/attributes": { "post": { "tags": [ "General" ], "summary": "NodeWrite", "description": "Write any writeable attribute of a specified node on the server. See the relevant section of the OPC UA reference specification for more information. The attributes supported by the node are dependend on the node class of the node.", "operationId": "NodeWrite", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/WriteRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/WriteResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/historyread/first": { "post": { "tags": [ "General" ], "summary": "HistoryRead", "description": "Read the history using the respective OPC UA service call. See the relevant section of the OPC UA reference specification for more information. If continuation is returned the remaining results of the operation can be read using the HistoryReadNext method.", "operationId": "HistoryRead", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/VariantValueHistoryReadRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/VariantValueHistoryReadResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/historyread/next": { "post": { "tags": [ "General" ], "summary": "HistoryReadNext", "description": "Read next history using the respective OPC UA service call. See the relevant section of the OPC UA reference specification for more information.", "operationId": "HistoryReadNext", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/HistoryReadNextRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/VariantValueHistoryReadNextResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/historyupdate": { "post": { "tags": [ "General" ], "summary": "HistoryUpdate", "description": "Update history using the respective OPC UA service call. Consult the relevant section of the OPC UA reference specification for more information.", "operationId": "HistoryUpdate", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/VariantValueHistoryUpdateRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoryUpdateResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/certificate": { "post": { "tags": [ "General" ], "summary": "GetEndpointCertificate", "description": "Get a server endpoint's certificate and certificate chain if available.", "operationId": "GetEndpointCertificate", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The server endpoint to get the certificate for.", "required": true, "schema": { "$ref": "#/definitions/EndpointModel" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/X509CertificateChainModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/capabilities": { "post": { "tags": [ "General" ], "summary": "HistoryGetServerCapabilities", "description": "Get the historian capabilities exposed as part of the OPC UA server server object.", "operationId": "HistoryGetServerCapabilities", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/RequestHeaderModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoryServerCapabilitiesModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/configuration": { "post": { "tags": [ "General" ], "summary": "HistoryGetConfiguration", "description": "Get the historian configuration of a historizing node in the OPC UA server", "operationId": "HistoryGetConfiguration", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/HistoryConfigurationRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoryConfigurationResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/test": { "post": { "tags": [ "General" ], "summary": "TestConnection", "description": "Test connection to an opc ua server. The call will not establish any persistent connection but will just allow a client to test that the server is available.", "operationId": "TestConnection", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The request payload and connection information identifying the server to connect to perform the operation on.", "required": true, "schema": { "$ref": "#/definitions/TestConnectionRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/TestConnectionResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/events/replace": { "post": { "tags": [ "History" ], "summary": "HistoryReplaceEvents", "description": "Replace events in a timeseries in the historian of the OPC UA server. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryReplaceEvents", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The events to replace with in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/UpdateEventsDetailsModelHistoryUpdateRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoryUpdateResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/events/insert": { "post": { "tags": [ "History" ], "summary": "HistoryInsertEvents", "description": "Insert event entries into a specified timeseries of the historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryInsertEvents", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The events to insert into the timeseries.", "required": true, "schema": { "$ref": "#/definitions/UpdateEventsDetailsModelHistoryUpdateRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoryUpdateResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/events/upsert": { "post": { "tags": [ "History" ], "summary": "HistoryUpsertEvents", "description": "Upsert events into a time series of the opc server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryUpsertEvents", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The events to upsert into the timeseries.", "required": true, "schema": { "$ref": "#/definitions/UpdateEventsDetailsModelHistoryUpdateRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoryUpdateResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/events/delete": { "post": { "tags": [ "History" ], "summary": "HistoryDeleteEvents", "description": "Delete event entries in a timeseries of the server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryDeleteEvents", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The events to delete in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/DeleteEventsDetailsModelHistoryUpdateRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoryUpdateResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/delete/attimes": { "post": { "tags": [ "History" ], "summary": "HistoryDeleteValuesAtTimes", "description": "Delete value change entries in a timeseries of the server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryDeleteValuesAtTimes", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The values to delete in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/DeleteValuesAtTimesDetailsModelHistoryUpdateRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoryUpdateResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/delete/modified": { "post": { "tags": [ "History" ], "summary": "HistoryDeleteModifiedValues", "description": "Delete value change entries in a timeseries of the server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryDeleteModifiedValues", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The values to delete in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/DeleteValuesDetailsModelHistoryUpdateRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoryUpdateResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/delete": { "post": { "tags": [ "History" ], "summary": "HistoryDeleteValues", "description": "Delete value change entries in a timeseries of the server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryDeleteValues", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The values to delete in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/DeleteValuesDetailsModelHistoryUpdateRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoryUpdateResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/replace": { "post": { "tags": [ "History" ], "summary": "HistoryReplaceValues", "description": "Replace value change entries in a timeseries of the server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryReplaceValues", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The values to replace with in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/UpdateValuesDetailsModelHistoryUpdateRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoryUpdateResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/insert": { "post": { "tags": [ "History" ], "summary": "HistoryInsertValues", "description": "Insert value change entries in a timeseries of the server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryInsertValues", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The values to insert into the timeseries.", "required": true, "schema": { "$ref": "#/definitions/UpdateValuesDetailsModelHistoryUpdateRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoryUpdateResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/upsert": { "post": { "tags": [ "History" ], "summary": "HistoryUpsertValues", "description": "Upsert value change entries in a timeseries of the server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryUpsertValues", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The values to upsert into the timeseries.", "required": true, "schema": { "$ref": "#/definitions/UpdateValuesDetailsModelHistoryUpdateRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoryUpdateResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/events/read/first": { "post": { "tags": [ "History" ], "summary": "HistoryReadEvents", "description": "Read an event timeseries inside the OPC UA server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryReadEvents", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The events to read in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/ReadEventsDetailsModelHistoryReadRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoricEventModelArrayHistoryReadResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/events/read/next": { "post": { "tags": [ "History" ], "summary": "HistoryReadEventsNext", "description": "Continue reading an event timeseries inside the OPC UA server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryReadEventsNext", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The continuation from a previous read request.", "required": true, "schema": { "$ref": "#/definitions/HistoryReadNextRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoricEventModelArrayHistoryReadNextResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/read/first": { "post": { "tags": [ "History" ], "summary": "HistoryReadValues", "description": "Read a data change timeseries inside the OPC UA server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryReadValues", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The values to read in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/ReadValuesDetailsModelHistoryReadRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoricValueModelArrayHistoryReadResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/read/first/attimes": { "post": { "tags": [ "History" ], "summary": "HistoryReadValuesAtTimes", "description": "Read parts of a timeseries inside the OPC UA server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryReadValuesAtTimes", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The values to read in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/ReadValuesAtTimesDetailsModelHistoryReadRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoricValueModelArrayHistoryReadResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/read/first/processed": { "post": { "tags": [ "History" ], "summary": "HistoryReadProcessedValues", "description": "Read processed timeseries data inside the OPC UA server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryReadProcessedValues", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The values to read in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/ReadProcessedValuesDetailsModelHistoryReadRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoricValueModelArrayHistoryReadResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/read/first/modified": { "post": { "tags": [ "History" ], "summary": "HistoryReadModifiedValues", "description": "Read modified changes in a timeseries inside the OPC UA server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryReadModifiedValues", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The values to read in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/ReadModifiedValuesDetailsModelHistoryReadRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoricValueModelArrayHistoryReadResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/read/next": { "post": { "tags": [ "History" ], "summary": "HistoryReadValuesNext", "description": "Continue reading a timeseries inside the OPC UA server historian. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryReadValuesNext", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The continuation token from a previous read operation.", "required": true, "schema": { "$ref": "#/definitions/HistoryReadNextRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoricValueModelArrayHistoryReadNextResponseModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/read": { "post": { "tags": [ "History" ], "summary": "HistoryStreamValues (only HTTP transport)", "description": "Read an entire timeseries from an OPC UA server historian as stream. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryStreamValues", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The values to read in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/ReadValuesDetailsModelHistoryReadRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoricValueModelIAsyncEnumerable" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/read/modified": { "post": { "tags": [ "History" ], "summary": "HistoryStreamModifiedValues (only HTTP transport)", "description": "Read an entire modified series from an OPC UA server historian as stream. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryStreamModifiedValues", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The values to read in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/ReadModifiedValuesDetailsModelHistoryReadRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoricValueModelIAsyncEnumerable" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/read/attimes": { "post": { "tags": [ "History" ], "summary": "HistoryStreamValuesAtTimes (only HTTP transport)", "description": "Read specific timeseries data from an OPC UA server historian as stream. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryStreamValuesAtTimes", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The values to read in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/ReadValuesAtTimesDetailsModelHistoryReadRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoricValueModelIAsyncEnumerable" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/values/read/processed": { "post": { "tags": [ "History" ], "summary": "HistoryStreamProcessedValues (only HTTP transport)", "description": "Read processed timeseries data from an OPC UA server historian as stream. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryStreamProcessedValues", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The values to read in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/ReadProcessedValuesDetailsModelHistoryReadRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoricValueModelIAsyncEnumerable" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/history/events/read": { "post": { "tags": [ "History" ], "summary": "HistoryStreamEvents (only HTTP transport)", "description": "Read an entire event timeseries from an OPC UA server historian as stream. See the relevant section of the OPC UA reference specification and respective service documentation for more information.", "operationId": "HistoryStreamEvents", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The events to read in the timeseries.", "required": true, "schema": { "$ref": "#/definitions/ReadEventsDetailsModelHistoryReadRequestModelRequestEnvelope" } } ], "responses": { "200": { "description": "The operation was successful or the response payload contains relevant error information.", "schema": { "$ref": "#/definitions/HistoricEventModelIAsyncEnumerable" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/writer": { "put": { "tags": [ "Writer" ], "summary": "CreateOrUpdateDataSetWriterEntry", "description": "Create a published nodes entry for a specific writer group and dataset writer. The entry must specify a unique writer group and dataset writer id. A null value is treated as empty string. If the entry is found it is replaced, if it is not found, it is created. If more than one entry is found with the same writer group and writer id an error is returned. The writer entry provided must include at least one node which will be the initial set. All nodes must specify a unique dataSetFieldId. A null value is treated as empty string. Publishing intervals at node level are also not supported and generate an error. Publishing intervals must be configured at the data set writer level.", "operationId": "CreateOrUpdateDataSetWriterEntry", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The entry to create for the writer", "required": true, "schema": { "$ref": "#/definitions/PublishedNodesEntryModel" } } ], "responses": { "200": { "description": "The item was created" }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "description": "A unique item could not be found to update.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "post": { "tags": [ "Writer" ], "summary": "ExpandAndCreateOrUpdateDataSetWriterEntries", "description": "Create a series of published nodes entries using the provided entry as template. The entry is expanded using expansion configuration provided. Expanded entries are returned one by one with error information if any. The configuration is also saved in the local configuration store. The server must be online and accessible for the expansion to work.", "operationId": "ExpandAndCreateOrUpdateDataSetWriterEntries", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The entry to create for the writer and node expansion configuration to use", "required": true, "schema": { "$ref": "#/definitions/PublishedNodeExpansionModelPublishedNodesEntryRequestModel" } } ], "responses": { "200": { "description": "The item was created", "schema": { "$ref": "#/definitions/PublishedNodesEntryModelServiceResponseIAsyncEnumerable" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "description": "A unique item could not be found to update.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/writer/{dataSetWriterGroup}/{dataSetWriterId}": { "get": { "tags": [ "Writer" ], "summary": "GetDataSetWriterEntry", "description": "Get the published nodes entry for a specific writer group and dataset writer. Dedicated errors are returned if no, or no unique entry could be found. The entry does not contain the nodes. Nodes can be retrieved using the GetNodes API.", "operationId": "GetDataSetWriterEntry", "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "dataSetWriterGroup", "description": "The writer group name of the entry", "required": true, "type": "string" }, { "in": "path", "name": "dataSetWriterId", "description": "The data set writer identifer of the entry", "required": true, "type": "string" } ], "responses": { "200": { "description": "The item was found", "schema": { "$ref": "#/definitions/PublishedNodesEntryModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "description": "There is no unique item present.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "description": "The item was not found", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "put": { "tags": [ "Writer" ], "summary": "AddOrUpdateNode", "description": "Add a node to a dedicated data set writer in a writer group. A node must have a unique DataSetFieldId. If the field already exists, the node is updated. If a node does not have a dataset field id an error is returned. Publishing intervals at node level are also not supported and generate an error. Publishing intervals must be configured at the data set writer level.", "operationId": "AddOrUpdateNode", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "dataSetWriterGroup", "description": "The writer group name of the entry", "required": true, "type": "string" }, { "in": "path", "name": "dataSetWriterId", "description": "The data set writer identifer of the entry", "required": true, "type": "string" }, { "in": "query", "name": "insertAfterFieldId", "description": "Field after which to insert the nodes. If not specified, nodes are added at the end of the entry", "type": "string" }, { "in": "body", "name": "body", "description": "Node to add or update", "required": true, "schema": { "$ref": "#/definitions/OpcNodeModel" } } ], "responses": { "200": { "description": "The item was added" }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "description": "A unique item could not be found to update.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "description": "An entry was not found to add the node to", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "delete": { "tags": [ "Writer" ], "summary": "RemoveDataSetWriterEntry", "description": "Remove the published nodes entry for a specific data set writer in a writer group. Dedicated errors are returned if no, or no unique entry could be found.", "operationId": "RemoveDataSetWriterEntry", "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "dataSetWriterGroup", "description": "The writer group name of the entry", "required": true, "type": "string" }, { "in": "path", "name": "dataSetWriterId", "description": "The data set writer identifer of the entry", "required": true, "type": "string" }, { "in": "query", "name": "force", "description": "Force delete all writers even if more than one were found. Does not error when none were found.", "type": "boolean", "default": false } ], "responses": { "200": { "description": "The entry was removed" }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "description": "A unique item could not be found to remove.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "description": "The entry to remove was not found", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/writer/{dataSetWriterGroup}/{dataSetWriterId}/add": { "post": { "tags": [ "Writer" ], "summary": "AddOrUpdateNodes", "description": "Add Nodes to a dedicated data set writer in a writer group. Each node must have a unique DataSetFieldId. If the field already exists, the node is updated. If a node does not have a dataset field id an error is returned. Publishing intervals at node level are also not supported and generate an error. Publishing intervals must be configured at the data set writer level.", "operationId": "AddOrUpdateNodes", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "dataSetWriterGroup", "description": "The writer group name of the entry", "required": true, "type": "string" }, { "in": "path", "name": "dataSetWriterId", "description": "The data set writer identifer of the entry", "required": true, "type": "string" }, { "in": "query", "name": "insertAfterFieldId", "description": "Field after which to insert the nodes. If not specified, nodes are added at the end of the entry", "type": "string" }, { "in": "body", "name": "body", "description": "Nodes to add or update", "required": true, "schema": { "type": "array", "items": { "$ref": "#/definitions/OpcNodeModel" } } } ], "responses": { "200": { "description": "The items were added" }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "description": "A unique entry could not be found to add to.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "description": "The entry was not found", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/writer/{dataSetWriterGroup}/{dataSetWriterId}/remove": { "post": { "tags": [ "Writer" ], "summary": "RemoveNodes", "description": "Remove Nodes that match the provided data set field ids from a data set writer in a writer group. If one of the fields is not found, no error is returned, however, if all fields are not found an error is returned.", "operationId": "RemoveNodes", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "dataSetWriterGroup", "description": "The writer group name of the entry", "required": true, "type": "string" }, { "in": "path", "name": "dataSetWriterId", "description": "The data set writer identifer of the entry", "required": true, "type": "string" }, { "in": "body", "name": "body", "description": "The identifiers of the fields to remove", "required": true, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "Some or all items were removed" }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "description": "A unique item could not be found to remove from.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "description": "The entry or all items to remove were not found", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/writer/{dataSetWriterGroup}/{dataSetWriterId}/{dataSetFieldId}": { "delete": { "tags": [ "Writer" ], "summary": "RemoveNode", "description": "Remove a node with the specified data set field id from a data set writer in a writer group. If the field is not found, an error is returned.", "operationId": "RemoveNode", "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "dataSetWriterGroup", "description": "The writer group name of the entry", "required": true, "type": "string" }, { "in": "path", "name": "dataSetWriterId", "description": "The data set writer identifer of the entry", "required": true, "type": "string" }, { "in": "path", "name": "dataSetFieldId", "description": "Identifier of the field to remove", "required": true, "type": "string" } ], "responses": { "200": { "description": "The item was removed" }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "description": "A unique item could not be found to remove from.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "description": "The entry or item to remove was not found", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "get": { "tags": [ "Writer" ], "summary": "GetNode", "description": "Get a node from a dataset in a writer group. Dedicated errors are returned if no, or no unique entry could be found, or the node does not exist.", "operationId": "GetNode", "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "dataSetWriterGroup", "description": "The writer group name of the entry", "required": true, "type": "string" }, { "in": "path", "name": "dataSetWriterId", "description": "The data set writer identifer of the entry", "required": true, "type": "string" }, { "in": "path", "name": "dataSetFieldId", "description": "The data set field id of the node to return", "required": true, "type": "string" } ], "responses": { "200": { "description": "The item was retrieved", "schema": { "$ref": "#/definitions/OpcNodeModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "description": "A unique item could not be found to get a node from.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "description": "The entry or item was not found", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/writer/{dataSetWriterGroup}/{dataSetWriterId}/nodes": { "get": { "tags": [ "Writer" ], "summary": "GetNodes", "description": "Get Nodes from a data set writer in a writer group. The nodes can optionally be offset from a previous last node identified by the dataSetFieldId and pageanated by the pageSize. If the dataSetFieldId is not found, an empty list is returned. If the dataSetFieldId is not specified, the first page is returned.", "operationId": "GetNodes", "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "path", "name": "dataSetWriterGroup", "description": "The writer group name of the entry", "required": true, "type": "string" }, { "in": "path", "name": "dataSetWriterId", "description": "The data set writer identifer of the entry", "required": true, "type": "string" }, { "in": "query", "name": "lastDataSetFieldId", "description": "the field id after which to start the page. If not specified, nodes from the beginning are returned.", "type": "string" }, { "in": "query", "name": "pageSize", "description": "Number of nodes to return", "type": "integer", "format": "int32" } ], "responses": { "200": { "description": "The items were found", "schema": { "type": "array", "items": { "$ref": "#/definitions/OpcNodeModel" } } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "description": "A unique item could not be found to get nodes from.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "description": "The entry was not found", "schema": { "$ref": "#/definitions/ProblemDetails" } } }, "x-ms-pageable": { "nextLinkName": "lastDataSetFieldId" } } }, "/v2/writer/expand": { "post": { "tags": [ "Writer" ], "summary": "ExpandWriter", "description": "Expands the provided nodes in the entry to a series of published node entries. The provided entry is used template. The entry is expanded using expansion configuration provided. Expanded entries are returned one by one with error information if any. The configuration is not updated but the resulting entries can be modified and later saved in the configuration using the configuration API. The server must be online and accessible for the expansion to work.", "operationId": "ExpandWriter", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The entry to expand and the node expansion configuration to use. If no configuration is provided a default configuration is used which and no error entries are returned.", "required": true, "schema": { "$ref": "#/definitions/PublishedNodeExpansionModelPublishedNodesEntryRequestModel" } } ], "responses": { "200": { "description": "The item was created", "schema": { "$ref": "#/definitions/PublishedNodesEntryModelServiceResponseIAsyncEnumerable" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "description": "A unique item could not be found to update.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/writer/assets/create": { "post": { "tags": [ "Writer" ], "summary": "CreateOrUpdateAsset", "description": "Creates an asset from the entry in the request and the configuration provided in the Web of Things Asset configuration file. The entry must contain a data set name which will be used as the asset name. The writer can stay empty. It will be set to the asset id on successful return. The server must support the WoT profile per . The asset will be created and the configuration updated to reference it. A wait time can be provided as optional query parameter to wait until the server has settled after uploading the configuration.", "operationId": "CreateOrUpdateAsset", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The contains the entry and WoT file to configure the server to expose the asset.", "required": true, "schema": { "$ref": "#/definitions/ByteArrayPublishedNodeCreateAssetRequestModel" } } ], "responses": { "200": { "description": "The asset was created", "schema": { "$ref": "#/definitions/PublishedNodesEntryModelServiceResponse" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/writer/assets/list": { "post": { "tags": [ "Writer" ], "summary": "GetAllAssets", "description": "Get a list of entries representing the assets in the server. This will not touch the configuration, it will obtain the list from the server. If the server does not support the result will be empty.", "operationId": "GetAllAssets", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "The entry to use to list the assets with the optional header information used when invoking services on the server.", "required": true, "schema": { "$ref": "#/definitions/RequestHeaderModelPublishedNodesEntryRequestModel" } } ], "responses": { "200": { "description": "Successfully completed the listing", "schema": { "$ref": "#/definitions/PublishedNodesEntryModelServiceResponseIAsyncEnumerable" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/writer/assets/delete": { "post": { "tags": [ "Writer" ], "summary": "DeleteAsset", "description": "Delete the asset referenced by the entry in the request. The entry must contain the asset id to delete. The asset id is the data set writer id. The entry must also contain the writer group id or deletion of the asset in the configuration will fail before the asset is deleted. The server must support WoT connectivity profile per . First the entry in the configuration will be deleted and then the asset on the server. If deletion of the asset in the configuration fails it will not be deleted in the server. An optional request option force can be used to force the deletion of the asset in the server regardless of the failure to delete the entry in the configuration.", "operationId": "DeleteAsset", "consumes": [ "application/json", "application/x-msgpack" ], "produces": [ "application/json", "application/x-msgpack" ], "parameters": [ { "in": "body", "name": "body", "description": "Request that contains the entry of the asset that should be deleted.", "required": true, "schema": { "$ref": "#/definitions/PublishedNodeDeleteAssetRequestModel" } } ], "responses": { "200": { "description": "The asset was deleted successfully", "schema": { "$ref": "#/definitions/ServiceResultModel" } }, "400": { "description": "The passed in information is invalid", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "description": "Forbidden", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "408": { "description": "The operation timed out.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "description": "An unexpected error occurred", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } } }, "definitions": { "AdditionalData": { "description": "Flags that are set by the historian when\r\nreturning archived values.", "enum": [ "None", "Partial", "ExtraData", "MultipleValues" ], "type": "string", "x-ms-enum": { "name": "AdditionalData", "modelAsString": false } }, "AggregateConfigurationModel": { "description": "Aggregate configuration", "type": "object", "properties": { "treatUncertainAsBad": { "description": "Whether to treat uncertain as bad", "type": "boolean" }, "percentDataBad": { "format": "int32", "description": "Percent of data that is bad", "type": "integer" }, "percentDataGood": { "format": "int32", "description": "Percent of data that is good", "type": "integer" }, "useSlopedExtrapolation": { "description": "Whether to use sloped extrapolation.", "type": "boolean" } }, "additionalProperties": false }, "ApplicationInfoModel": { "description": "Application info model", "required": [ "applicationId", "applicationUri" ], "type": "object", "properties": { "applicationId": { "description": "Unique application id", "type": "string" }, "applicationType": { "$ref": "#/definitions/ApplicationType" }, "applicationUri": { "description": "Unique application uri", "type": "string" }, "productUri": { "description": "Product uri", "type": "string" }, "applicationName": { "description": "Default name of application", "type": "string" }, "locale": { "description": "Locale of default name - defaults to \"en\"", "type": "string" }, "localizedNames": { "description": "Localized Names of application keyed on locale", "type": "object", "additionalProperties": { "type": "string" } }, "capabilities": { "description": "The capabilities advertised by the server.", "type": "array", "items": { "type": "string" } }, "discoveryUrls": { "description": "Discovery urls of the server", "type": "array", "items": { "type": "string" } }, "discoveryProfileUri": { "description": "Discovery profile uri", "type": "string" }, "gatewayServerUri": { "description": "Gateway server uri", "type": "string" }, "hostAddresses": { "description": "Host addresses of server application or null", "type": "array", "items": { "type": "string" } }, "siteId": { "description": "Site of the application", "type": "string", "example": "productionlineA" }, "discovererId": { "description": "Discoverer that registered the application", "type": "string" }, "notSeenSince": { "format": "date-time", "description": "Last time application was seen if not visible", "type": "string" }, "created": { "$ref": "#/definitions/OperationContextModel" }, "updated": { "$ref": "#/definitions/OperationContextModel" } }, "additionalProperties": false }, "ApplicationRegistrationModel": { "description": "Application with optional list of endpoints", "required": [ "application" ], "type": "object", "properties": { "application": { "$ref": "#/definitions/ApplicationInfoModel" }, "endpoints": { "description": "List of endpoints for it", "type": "array", "items": { "$ref": "#/definitions/EndpointRegistrationModel" } } }, "additionalProperties": false }, "ApplicationType": { "description": "Application type", "enum": [ "Server", "Client", "ClientAndServer", "DiscoveryServer" ], "type": "string", "x-ms-enum": { "name": "ApplicationType", "modelAsString": false } }, "AttributeReadRequestModel": { "description": "Attribute to read", "required": [ "attribute", "nodeId" ], "type": "object", "properties": { "nodeId": { "description": "Node to read from or write to (mandatory)", "minLength": 1, "type": "string" }, "attribute": { "$ref": "#/definitions/NodeAttribute" } }, "additionalProperties": false }, "AttributeReadResponseModel": { "description": "Attribute value read", "required": [ "value" ], "type": "object", "properties": { "value": { "description": "Attribute value", "type": "object" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "AttributeWriteRequestModel": { "description": "Attribute and value to write to it", "required": [ "attribute", "nodeId", "value" ], "type": "object", "properties": { "nodeId": { "description": "Node to write to (mandatory)", "minLength": 1, "type": "string" }, "attribute": { "$ref": "#/definitions/NodeAttribute" }, "value": { "description": "Value to write (mandatory)", "type": "object" } }, "additionalProperties": false }, "AttributeWriteResponseModel": { "description": "Attribute write result", "type": "object", "properties": { "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "AuthenticationMethodModel": { "description": "Authentication Method model", "required": [ "id" ], "type": "object", "properties": { "id": { "description": "Method id", "minLength": 1, "type": "string" }, "credentialType": { "$ref": "#/definitions/CredentialType" }, "securityPolicy": { "description": "Security policy to use when passing credential.", "type": "string" }, "configuration": { "description": "Method specific configuration", "type": "object" } }, "additionalProperties": false }, "BrowseDirection": { "description": "Direction to browse", "enum": [ "Forward", "Backward", "Both" ], "type": "string", "x-ms-enum": { "name": "BrowseDirection", "modelAsString": false } }, "BrowseFirstRequestModel": { "description": "Browse request model", "type": "object", "properties": { "nodeId": { "description": "Node to browse.\r\n(defaults to root folder).", "type": "string" }, "direction": { "$ref": "#/definitions/BrowseDirection" }, "view": { "$ref": "#/definitions/BrowseViewModel" }, "referenceTypeId": { "description": "Reference types to browse.\r\n(default: hierarchical).", "type": "string" }, "noSubtypes": { "description": "Whether to include subtypes of the reference type.\r\n(default is false)", "type": "boolean" }, "maxReferencesToReturn": { "format": "int64", "description": "Max number of references to return. There might\r\nbe less returned as this is up to the client\r\nrestrictions. Set to 0 to return no references\r\nor target nodes.\r\n(default is decided by client e.g. 60)", "type": "integer" }, "targetNodesOnly": { "description": "Whether to collapse all references into a set of\r\nunique target nodes and not show reference\r\ninformation.\r\n(default is false)", "type": "boolean" }, "readVariableValues": { "description": "Whether to read variable values on target nodes.\r\n(default is false)", "type": "boolean" }, "nodeClassFilter": { "description": "Filter returned target nodes by only returning\r\nnodes that have classes defined in this array.\r\n(default: null - all targets are returned)", "enum": [ "Object", "Variable", "Method", "ObjectType", "VariableType", "ReferenceType", "DataType", "View" ], "type": "string", "items": { "$ref": "#/definitions/NodeClass" }, "x-ms-enum": { "name": "NodeClass", "modelAsString": false } }, "header": { "$ref": "#/definitions/RequestHeaderModel" }, "nodeIdsOnly": { "description": "Whether to only return the raw node id\r\ninformation and not read the target node.\r\n(default is false)", "type": "boolean" } }, "additionalProperties": false }, "BrowseFirstRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/BrowseFirstRequestModel" } }, "additionalProperties": false }, "BrowseFirstResponseModel": { "description": "Browse response model", "required": [ "node", "references" ], "type": "object", "properties": { "node": { "$ref": "#/definitions/NodeModel" }, "references": { "description": "References returned", "type": "array", "items": { "$ref": "#/definitions/NodeReferenceModel" } }, "continuationToken": { "description": "Continuation token if more results pending.", "type": "string" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "BrowseNextRequestModel": { "description": "Request node browsing continuation", "required": [ "continuationToken" ], "type": "object", "properties": { "continuationToken": { "description": "Continuation token from previews browse request.\r\n(mandatory)", "minLength": 1, "type": "string" }, "abort": { "description": "Whether to abort browse and release.\r\n(default: false)", "type": "boolean" }, "targetNodesOnly": { "description": "Whether to collapse all references into a set of\r\nunique target nodes and not show reference\r\ninformation.\r\n(default is false)", "type": "boolean" }, "readVariableValues": { "description": "Whether to read variable values on target nodes.\r\n(default is false)", "type": "boolean" }, "header": { "$ref": "#/definitions/RequestHeaderModel" }, "nodeIdsOnly": { "description": "Whether to only return the raw node id\r\ninformation and not read the target node.\r\n(default is false)", "type": "boolean" } }, "additionalProperties": false }, "BrowseNextRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/BrowseNextRequestModel" } }, "additionalProperties": false }, "BrowseNextResponseModel": { "description": "Result of node browse continuation", "required": [ "references" ], "type": "object", "properties": { "references": { "description": "References returned", "type": "array", "items": { "$ref": "#/definitions/NodeReferenceModel" } }, "continuationToken": { "description": "Continuation token if more results pending.", "type": "string" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "BrowsePathRequestModel": { "description": "Browse nodes by path", "required": [ "browsePaths" ], "type": "object", "properties": { "nodeId": { "description": "Node to browse from (defaults to root folder).", "type": "string" }, "browsePaths": { "description": "The paths to browse from node.\r\n(mandatory)", "type": "array", "items": { "type": "array", "items": { "type": "string" } } }, "readVariableValues": { "description": "Whether to read variable values on target nodes.\r\n(default is false)", "type": "boolean" }, "header": { "$ref": "#/definitions/RequestHeaderModel" }, "nodeIdsOnly": { "description": "Whether to only return the raw node id\r\ninformation and not read the target node.\r\n(default is false)", "type": "boolean" } }, "additionalProperties": false }, "BrowsePathRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/BrowsePathRequestModel" } }, "additionalProperties": false }, "BrowsePathResponseModel": { "description": "Result of node browse continuation", "type": "object", "properties": { "targets": { "description": "Targets", "type": "array", "items": { "$ref": "#/definitions/NodePathTargetModel" } }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "BrowseStreamChunkModelIAsyncEnumerable": { "type": "object", "additionalProperties": false }, "BrowseStreamRequestModel": { "description": "Browse stream request model", "type": "object", "properties": { "header": { "$ref": "#/definitions/RequestHeaderModel" }, "nodeId": { "description": "Start nodes to browse.\r\n(defaults to root folder).", "type": "array", "items": { "type": "string" } }, "direction": { "$ref": "#/definitions/BrowseDirection" }, "view": { "$ref": "#/definitions/BrowseViewModel" }, "referenceTypeId": { "description": "Reference types to browse.\r\n(default: hierarchical).", "type": "string" }, "noSubtypes": { "description": "Whether to include subtypes of the reference type.\r\n(default is false)", "type": "boolean" }, "readVariableValues": { "description": "Whether to read variable values on source nodes.\r\n(default is false)", "type": "boolean" }, "noRecurse": { "description": "Whether to not browse recursively\r\n(default is false)", "type": "boolean" }, "nodeClassFilter": { "description": "Filter returned target nodes by only returning\r\nnodes that have classes defined in this array.\r\n(default: null - all targets are returned)", "enum": [ "Object", "Variable", "Method", "ObjectType", "VariableType", "ReferenceType", "DataType", "View" ], "type": "string", "items": { "$ref": "#/definitions/NodeClass" }, "x-ms-enum": { "name": "NodeClass", "modelAsString": false } } }, "additionalProperties": false }, "BrowseStreamRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/BrowseStreamRequestModel" } }, "additionalProperties": false }, "BrowseViewModel": { "description": "View to browse", "required": [ "viewId" ], "type": "object", "properties": { "viewId": { "description": "Node of the view to browse", "minLength": 1, "type": "string" }, "version": { "format": "int64", "description": "Browses specific version of the view.", "type": "integer" }, "timestamp": { "format": "date-time", "description": "Browses at or before this timestamp.", "type": "string" } }, "additionalProperties": false }, "ByteArrayPublishedNodeCreateAssetRequestModel": { "description": "Request to create an asset in the configuration api", "required": [ "configuration", "entry" ], "type": "object", "properties": { "header": { "$ref": "#/definitions/RequestHeaderModel" }, "entry": { "$ref": "#/definitions/PublishedNodesEntryModel" }, "configuration": { "format": "byte", "description": "The asset configuration to use when creating the asset.", "type": "string" }, "waitTime": { "format": "date-span", "description": "Time to wait after the configuration is applied to perform\r\nthe configuration of the asset in the configuration api.\r\nThis is to let the server settle.", "type": "string" } }, "additionalProperties": false }, "ChannelDiagnosticModel": { "description": "Channel diagnostics model", "required": [ "connection", "timeStamp" ], "type": "object", "properties": { "timeStamp": { "format": "date-time", "description": "Timestamp of the diagnostic information", "type": "string" }, "sessionId": { "description": "The session id if connected. Empty if disconnected.", "type": "string" }, "sessionCreated": { "format": "date-time", "description": "When the session was created.", "type": "string" }, "connection": { "$ref": "#/definitions/ConnectionModel" }, "remoteIpAddress": { "description": "Effective remote ip address used for the\r\nconnection if connected. Empty if disconnected.", "type": "string" }, "remotePort": { "format": "int32", "description": "The effective remote port used when connected,\r\nnull if disconnected.", "type": "integer" }, "localIpAddress": { "description": "Effective local ip address used for the connection\r\nif connected. Empty if disconnected.", "type": "string" }, "localPort": { "format": "int32", "description": "The effective local port used when connected,\r\nnull if disconnected.", "type": "integer" }, "channelId": { "format": "int64", "description": "The id assigned to the channel that the token\r\nbelongs to.", "type": "integer" }, "tokenId": { "format": "int64", "description": "The id assigned to the token.", "type": "integer" }, "createdAt": { "format": "date-time", "description": "When the token was created by the server\r\n(refers to the server's clock).", "type": "string" }, "lifetime": { "format": "date-span", "description": "The lifetime of the token", "type": "string" }, "client": { "$ref": "#/definitions/ChannelKeyModel" }, "server": { "$ref": "#/definitions/ChannelKeyModel" } }, "additionalProperties": false }, "ChannelDiagnosticModelIAsyncEnumerable": { "type": "object", "additionalProperties": false }, "ChannelKeyModel": { "description": "Channel token key model.", "required": [ "iv", "key", "sigLen" ], "type": "object", "properties": { "iv": { "description": "Iv", "type": "array", "items": { "format": "int32", "type": "integer" } }, "key": { "description": "Key", "type": "array", "items": { "format": "int32", "type": "integer" } }, "sigLen": { "format": "int32", "description": "Signature length", "type": "integer" } }, "additionalProperties": false }, "ConditionHandlingOptionsModel": { "description": "Condition handling options model", "type": "object", "properties": { "updateInterval": { "format": "int32", "description": "Time interval for sending pending interval updates in seconds.", "type": "integer" }, "snapshotInterval": { "format": "int32", "description": "Time interval for sending pending interval snapshot in seconds.", "type": "integer" } }, "additionalProperties": false }, "ConnectionDiagnosticsModelIAsyncEnumerable": { "type": "object", "additionalProperties": false }, "ConnectionModel": { "description": "Connection model", "required": [ "endpoint" ], "type": "object", "properties": { "endpoint": { "$ref": "#/definitions/EndpointModel" }, "user": { "$ref": "#/definitions/CredentialModel" }, "diagnostics": { "$ref": "#/definitions/DiagnosticsModel" }, "group": { "description": "Connection group allows splitting connections\r\nper purpose.", "type": "string" }, "locales": { "description": "Optional list of preferred locales in preference order.", "type": "array", "items": { "type": "string" } }, "options": { "$ref": "#/definitions/ConnectionOptions" } }, "additionalProperties": false }, "ConnectionOptions": { "description": "Options that can be applied to a connection", "enum": [ "None", "UseReverseConnect", "NoComplexTypeSystem", "NoSubscriptionTransfer", "DumpDiagnostics" ], "type": "string", "x-ms-enum": { "name": "ConnectionOptions", "modelAsString": false } }, "ContentFilterElementModel": { "description": "An expression element in the filter ast", "type": "object", "properties": { "filterOperator": { "$ref": "#/definitions/FilterOperatorType" }, "filterOperands": { "description": "The operands in the element for the operator", "type": "array", "items": { "$ref": "#/definitions/FilterOperandModel" } } }, "additionalProperties": false }, "ContentFilterModel": { "description": "Content filter", "type": "object", "properties": { "elements": { "description": "The flat list of elements in the filter AST", "type": "array", "items": { "$ref": "#/definitions/ContentFilterElementModel" } } }, "additionalProperties": false }, "CredentialModel": { "description": "Credential model. For backwards compatibility\r\nthe actual credentials to pass to the server is set\r\nthrough the value property.", "type": "object", "properties": { "type": { "$ref": "#/definitions/CredentialType" }, "value": { "$ref": "#/definitions/UserIdentityModel" } }, "additionalProperties": false }, "CredentialType": { "description": "Type of credentials to use for authentication", "enum": [ "None", "UserName", "X509Certificate", "JwtToken" ], "type": "string", "x-ms-enum": { "name": "CredentialType", "modelAsString": false } }, "DataChangeTriggerType": { "description": "Data change trigger", "enum": [ "Status", "StatusValue", "StatusValueTimestamp" ], "type": "string", "x-ms-enum": { "name": "DataChangeTriggerType", "modelAsString": false } }, "DataLocation": { "description": "Indicate the data location", "enum": [ "Raw", "Calculated", "Interpolated" ], "type": "string", "x-ms-enum": { "name": "DataLocation", "modelAsString": false } }, "DataSetRoutingMode": { "description": "Data set routing", "enum": [ "None", "UseBrowseNames", "UseBrowseNamesWithNamespaceIndex" ], "type": "string", "x-ms-enum": { "name": "DataSetRoutingMode", "modelAsString": false } }, "DataTypeMetadataModel": { "description": "Data type metadata model", "type": "object", "properties": { "dataType": { "description": "The data type for the instance declaration.", "type": "string" } }, "additionalProperties": false }, "DeadbandType": { "description": "Deadband type", "enum": [ "Absolute", "Percent" ], "type": "string", "x-ms-enum": { "name": "DeadbandType", "modelAsString": false } }, "DeleteEventsDetailsModel": { "description": "The events to delete", "required": [ "eventIds" ], "type": "object", "properties": { "eventIds": { "description": "Events to delete", "type": "array", "items": { "format": "byte", "type": "string" } } }, "additionalProperties": false }, "DeleteEventsDetailsModelHistoryUpdateRequestModel": { "description": "Request node history update", "required": [ "details" ], "type": "object", "properties": { "nodeId": { "description": "Node to update (mandatory without browse path)", "type": "string" }, "browsePath": { "description": "An optional path from NodeId instance to\r\nthe actual node.", "type": "array", "items": { "type": "string" } }, "details": { "$ref": "#/definitions/DeleteEventsDetailsModel" }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "DeleteEventsDetailsModelHistoryUpdateRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/DeleteEventsDetailsModelHistoryUpdateRequestModel" } }, "additionalProperties": false }, "DeleteValuesAtTimesDetailsModel": { "description": "Deletes data at times", "required": [ "reqTimes" ], "type": "object", "properties": { "reqTimes": { "description": "The timestamps to delete", "type": "array", "items": { "format": "date-time", "type": "string" } } }, "additionalProperties": false }, "DeleteValuesAtTimesDetailsModelHistoryUpdateRequestModel": { "description": "Request node history update", "required": [ "details" ], "type": "object", "properties": { "nodeId": { "description": "Node to update (mandatory without browse path)", "type": "string" }, "browsePath": { "description": "An optional path from NodeId instance to\r\nthe actual node.", "type": "array", "items": { "type": "string" } }, "details": { "$ref": "#/definitions/DeleteValuesAtTimesDetailsModel" }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "DeleteValuesAtTimesDetailsModelHistoryUpdateRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/DeleteValuesAtTimesDetailsModelHistoryUpdateRequestModel" } }, "additionalProperties": false }, "DeleteValuesDetailsModel": { "description": "Delete values", "type": "object", "properties": { "startTime": { "format": "date-time", "description": "Start time", "type": "string" }, "endTime": { "format": "date-time", "description": "End time to delete until", "type": "string" } }, "additionalProperties": false }, "DeleteValuesDetailsModelHistoryUpdateRequestModel": { "description": "Request node history update", "required": [ "details" ], "type": "object", "properties": { "nodeId": { "description": "Node to update (mandatory without browse path)", "type": "string" }, "browsePath": { "description": "An optional path from NodeId instance to\r\nthe actual node.", "type": "array", "items": { "type": "string" } }, "details": { "$ref": "#/definitions/DeleteValuesDetailsModel" }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "DeleteValuesDetailsModelHistoryUpdateRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/DeleteValuesDetailsModelHistoryUpdateRequestModel" } }, "additionalProperties": false }, "DiagnosticsLevel": { "description": "Level of diagnostics requested in responses", "enum": [ "None", "Status", "Information", "Debug", "Verbose" ], "type": "string", "x-ms-enum": { "name": "DiagnosticsLevel", "modelAsString": false } }, "DiagnosticsModel": { "description": "Diagnostics configuration", "type": "object", "properties": { "level": { "$ref": "#/definitions/DiagnosticsLevel" }, "auditId": { "description": "Client audit log entry.\r\n(default: client generated)", "type": "string" }, "timeStamp": { "format": "date-time", "description": "Timestamp of request.\r\n(default: client generated)", "type": "string" } }, "additionalProperties": false }, "DiscoveryCancelRequestModel": { "description": "Discovery cancel request", "type": "object", "properties": { "id": { "description": "Id of discovery request", "type": "string" }, "context": { "$ref": "#/definitions/OperationContextModel" } }, "additionalProperties": false }, "DiscoveryConfigModel": { "description": "Discovery configuration api model", "type": "object", "properties": { "addressRangesToScan": { "description": "Address ranges to scan (null == all wired nics)", "type": "string" }, "networkProbeTimeout": { "format": "date-span", "description": "Network probe timeout", "type": "string" }, "maxNetworkProbes": { "format": "int32", "description": "Max network probes that should ever run.", "type": "integer" }, "portRangesToScan": { "description": "Port ranges to scan (null == all unassigned)", "type": "string" }, "portProbeTimeout": { "format": "date-span", "description": "Port probe timeout", "type": "string" }, "maxPortProbes": { "format": "int32", "description": "Max port probes that should ever run.", "type": "integer" }, "minPortProbesPercent": { "format": "int32", "description": "Probes that must always be there as percent of max.", "type": "integer" }, "idleTimeBetweenScans": { "format": "date-span", "description": "Delay time between discovery sweeps", "type": "string" }, "discoveryUrls": { "description": "List of preset discovery urls to use", "type": "array", "items": { "type": "string" } }, "locales": { "description": "List of locales to filter with during discovery", "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "DiscoveryMode": { "description": "Discovery mode to use", "enum": [ "Off", "Local", "Network", "Fast", "Scan" ], "type": "string", "x-ms-enum": { "name": "DiscoveryMode", "modelAsString": false } }, "DiscoveryRequestModel": { "description": "Discovery request", "type": "object", "properties": { "id": { "description": "Id of discovery request", "type": "string" }, "discovery": { "$ref": "#/definitions/DiscoveryMode" }, "configuration": { "$ref": "#/definitions/DiscoveryConfigModel" }, "context": { "$ref": "#/definitions/OperationContextModel" } }, "additionalProperties": false }, "EndpointModel": { "description": "Endpoint model", "required": [ "url" ], "type": "object", "properties": { "url": { "description": "Endpoint url to use to connect with", "minLength": 1, "type": "string" }, "alternativeUrls": { "description": "Alternative endpoint urls that can be used for\r\naccessing and validating the server", "type": "array", "items": { "type": "string" } }, "securityMode": { "$ref": "#/definitions/SecurityMode" }, "securityPolicy": { "description": "Security policy uri to use for communication.\r\ndefault to best.", "type": "string" }, "certificate": { "description": "Endpoint certificate thumbprint", "type": "string" } }, "additionalProperties": false }, "EndpointRegistrationModel": { "description": "Endpoint registration", "required": [ "id" ], "type": "object", "properties": { "id": { "description": "Endpoint identifier which is hashed from\r\nthe supervisor, site and url.", "minLength": 1, "type": "string" }, "endpointUrl": { "description": "Original endpoint url of the endpoint", "type": "string" }, "siteId": { "description": "Registered site of the endpoint", "type": "string" }, "discovererId": { "description": "Entity that registered and can access the endpoint", "type": "string" }, "endpoint": { "$ref": "#/definitions/EndpointModel" }, "securityLevel": { "format": "int32", "description": "Security level of the endpoint", "type": "integer" }, "authenticationMethods": { "description": "Supported authentication methods that can be selected to\r\nobtain a credential and used to interact with the endpoint.", "type": "array", "items": { "$ref": "#/definitions/AuthenticationMethodModel" } } }, "additionalProperties": false }, "EventFilterModel": { "description": "Event filter", "type": "object", "properties": { "selectClauses": { "description": "Select clauses", "type": "array", "items": { "$ref": "#/definitions/SimpleAttributeOperandModel" } }, "whereClause": { "$ref": "#/definitions/ContentFilterModel" }, "typeDefinitionId": { "description": "Simple event Type definition node id", "type": "string" } }, "additionalProperties": false }, "ExceptionDeviationType": { "description": "Exception deviation type", "enum": [ "AbsoluteValue", "PercentOfValue", "PercentOfRange", "PercentOfEURange" ], "type": "string", "x-ms-enum": { "name": "ExceptionDeviationType", "modelAsString": false } }, "FileInfoModel": { "description": "File info", "type": "object", "properties": { "size": { "format": "int64", "description": "The size of the file in Bytes. When a file is\r\ncurrently opened for write, the size might not be\r\naccurate or available.", "type": "integer" }, "writable": { "description": "Whether the file is writable.", "type": "boolean" }, "openCount": { "format": "int32", "description": "The number of currently valid file handles on\r\nthe file.", "type": "integer" }, "mimeType": { "description": "The media type of the file based on RFC 2046.", "type": "string" }, "maxBufferSize": { "format": "int64", "description": "The maximum number of bytes of\r\nthe read and write buffers.", "type": "integer" }, "lastModified": { "format": "date-time", "description": "The time the file was last modified.", "type": "string" } }, "additionalProperties": false }, "FileInfoModelServiceResponse": { "description": "Response envelope", "type": "object", "properties": { "result": { "$ref": "#/definitions/FileInfoModel" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "FileSystemObjectModel": { "description": "File system object model", "type": "object", "properties": { "nodeId": { "description": "The node id of the filesystem object", "type": "string" }, "browsePath": { "description": "The browse path to the filesystem object", "type": "array", "items": { "type": "string" } }, "name": { "description": "The name of the filesystem object", "type": "string" } }, "additionalProperties": false }, "FileSystemObjectModelIEnumerableServiceResponse": { "description": "Response envelope", "type": "object", "properties": { "result": { "description": "Result", "type": "array", "items": { "$ref": "#/definitions/FileSystemObjectModel" } }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "FileSystemObjectModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/FileSystemObjectModel" } }, "additionalProperties": false }, "FileSystemObjectModelServiceResponse": { "description": "Response envelope", "type": "object", "properties": { "result": { "$ref": "#/definitions/FileSystemObjectModel" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "FileSystemObjectModelServiceResponseIAsyncEnumerable": { "type": "object", "additionalProperties": false }, "FilterOperandModel": { "description": "Filter operand", "type": "object", "properties": { "index": { "format": "int64", "description": "Element reference in the outer list if\r\noperand is an element operand", "type": "integer" }, "value": { "description": "Variant value if operand is a literal", "type": "object" }, "nodeId": { "description": "Type definition node id if operand is\r\nsimple or full attribute operand.", "type": "string" }, "browsePath": { "description": "Browse path of attribute operand", "type": "array", "items": { "type": "string" } }, "attributeId": { "$ref": "#/definitions/NodeAttribute" }, "indexRange": { "description": "Index range of attribute operand", "type": "string" }, "alias": { "description": "Optional alias to refer to it makeing it a\r\nfull blown attribute operand", "type": "string" }, "dataType": { "description": "Data type if operand is a literal", "type": "string" } }, "additionalProperties": false }, "FilterOperatorType": { "description": "Filter operator type", "enum": [ "Equals", "IsNull", "GreaterThan", "LessThan", "GreaterThanOrEqual", "LessThanOrEqual", "Like", "Not", "Between", "InList", "And", "Or", "Cast", "InView", "OfType", "RelatedTo", "BitwiseAnd", "BitwiseOr" ], "type": "string", "x-ms-enum": { "name": "FilterOperatorType", "modelAsString": false } }, "GetConfiguredEndpointsResponseModel": { "description": "Result of GetConfiguredEndpoints method call", "type": "object", "properties": { "endpoints": { "description": "Collection of Endpoints in the configuration", "type": "array", "items": { "$ref": "#/definitions/PublishedNodesEntryModel" } } }, "additionalProperties": false }, "GetConfiguredNodesOnEndpointResponseModel": { "description": "Result of GetConfiguredNodesOnEndpoint method call", "type": "object", "properties": { "opcNodes": { "description": "Collection of Nodes configured for a particular endpoint", "type": "array", "items": { "$ref": "#/definitions/OpcNodeModel" } } }, "additionalProperties": false }, "HeartbeatBehavior": { "description": "Heartbeat behavior", "enum": [ "WatchdogLKV", "WatchdogLKG", "PeriodicLKV", "PeriodicLKG", "WatchdogLKVWithUpdatedTimestamps", "WatchdogLKVDiagnosticsOnly", "Reserved", "PeriodicLKVDropValue", "PeriodicLKGDropValue" ], "type": "string", "x-ms-enum": { "name": "HeartbeatBehavior", "modelAsString": false } }, "HistoricEventModel": { "description": "Historic event", "required": [ "eventFields" ], "type": "object", "properties": { "eventFields": { "description": "The selected fields of the event", "type": "object", "items": { "description": "A variant which can be represented by any value including null.", "type": "object" } } }, "additionalProperties": false }, "HistoricEventModelArrayHistoryReadNextResponseModel": { "description": "History read continuation result", "required": [ "history" ], "type": "object", "properties": { "history": { "description": "History as json encoded extension object", "type": "array", "items": { "$ref": "#/definitions/HistoricEventModel" } }, "continuationToken": { "description": "Continuation token if more results pending.", "type": "string" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "HistoricEventModelArrayHistoryReadResponseModel": { "description": "History read results", "required": [ "history" ], "type": "object", "properties": { "history": { "description": "History as json encoded extension object", "type": "array", "items": { "$ref": "#/definitions/HistoricEventModel" } }, "continuationToken": { "description": "Continuation token if more results pending.", "type": "string" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "HistoricEventModelIAsyncEnumerable": { "type": "object", "additionalProperties": false }, "HistoricValueModel": { "description": "Historic data", "type": "object", "properties": { "value": { "description": "The value of data value.", "type": "object" }, "dataType": { "description": "Built in data type of the updated values", "type": "string" }, "status": { "$ref": "#/definitions/ServiceResultModel" }, "sourceTimestamp": { "format": "date-time", "description": "The source timestamp associated with the value.", "type": "string" }, "sourcePicoseconds": { "format": "int32", "description": "Additional resolution for the source timestamp.", "type": "integer" }, "serverTimestamp": { "format": "date-time", "description": "The server timestamp associated with the value.", "type": "string" }, "serverPicoseconds": { "format": "int32", "description": "Additional resolution for the server timestamp.", "type": "integer" }, "dataLocation": { "$ref": "#/definitions/DataLocation" }, "modificationInfo": { "$ref": "#/definitions/ModificationInfoModel" }, "additionalData": { "$ref": "#/definitions/AdditionalData" } }, "additionalProperties": false }, "HistoricValueModelArrayHistoryReadNextResponseModel": { "description": "History read continuation result", "required": [ "history" ], "type": "object", "properties": { "history": { "description": "History as json encoded extension object", "type": "array", "items": { "$ref": "#/definitions/HistoricValueModel" } }, "continuationToken": { "description": "Continuation token if more results pending.", "type": "string" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "HistoricValueModelArrayHistoryReadResponseModel": { "description": "History read results", "required": [ "history" ], "type": "object", "properties": { "history": { "description": "History as json encoded extension object", "type": "array", "items": { "$ref": "#/definitions/HistoricValueModel" } }, "continuationToken": { "description": "Continuation token if more results pending.", "type": "string" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "HistoricValueModelIAsyncEnumerable": { "type": "object", "additionalProperties": false }, "HistoryConfigurationModel": { "description": "History configuration", "type": "object", "properties": { "stepped": { "description": "specifies whether the historical data was\r\ncollected in such a manner that it should\r\nbe displayed as SlopedInterpolation (sloped\r\nline between points) or as SteppedInterpolation\r\n(vertically-connected horizontal lines\r\nbetween points) when raw data is examined.\r\nThis Property also effects how some\r\nAggregates are calculated", "type": "boolean" }, "definition": { "description": "Human readable string that specifies how\r\nthe value of this HistoricalDataNode is\r\ncalculated", "type": "string" }, "maxTimeInterval": { "format": "date-span", "description": "Specifies the maximum interval between data\r\npoints in the history repository\r\nregardless of their value change", "type": "string" }, "minTimeInterval": { "format": "date-span", "description": "Specifies the minimum interval between\r\ndata points in the history repository\r\nregardless of their value change", "type": "string" }, "exceptionDeviation": { "format": "double", "description": "Minimum amount that the data for the\r\nNode shall change in order for the change\r\nto be reported to the history database", "type": "number" }, "exceptionDeviationType": { "$ref": "#/definitions/ExceptionDeviationType" }, "startOfArchive": { "format": "date-time", "description": "The date before which there is no data in the\r\narchive either online or offline", "type": "string" }, "endOfArchive": { "format": "date-time", "description": "The last date of the archive", "type": "string" }, "startOfOnlineArchive": { "format": "date-time", "description": "Date of the earliest data in the online archive", "type": "string" }, "serverTimestampSupported": { "description": "Server supports ServerTimestamps in addition\r\nto SourceTimestamp", "type": "boolean" }, "aggregateConfiguration": { "$ref": "#/definitions/AggregateConfigurationModel" }, "aggregateFunctions": { "description": "Allowed aggregate functions", "type": "object", "additionalProperties": { "type": "string" } } }, "additionalProperties": false }, "HistoryConfigurationRequestModel": { "description": "Request history configuration", "required": [ "nodeId" ], "type": "object", "properties": { "header": { "$ref": "#/definitions/RequestHeaderModel" }, "nodeId": { "description": "Continuation token to continue reading more\r\nresults.", "minLength": 1, "type": "string" } }, "additionalProperties": false }, "HistoryConfigurationRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/HistoryConfigurationRequestModel" } }, "additionalProperties": false }, "HistoryConfigurationResponseModel": { "description": "Response with history configuration", "type": "object", "properties": { "configuration": { "$ref": "#/definitions/HistoryConfigurationModel" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "HistoryReadNextRequestModel": { "description": "Request node history read continuation", "required": [ "continuationToken" ], "type": "object", "properties": { "continuationToken": { "description": "Continuation token to continue reading more\r\nresults.", "minLength": 1, "type": "string" }, "abort": { "description": "Abort reading after this read", "type": "boolean" }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "HistoryReadNextRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/HistoryReadNextRequestModel" } }, "additionalProperties": false }, "HistoryServerCapabilitiesModel": { "description": "History Server capabilities", "type": "object", "properties": { "supportsHistoricData": { "description": "Server supports historic data access", "type": "boolean" }, "supportsHistoricEvents": { "description": "Server supports historic event access", "type": "boolean" }, "maxReturnDataValues": { "format": "int64", "description": "Maximum number of historic data values that will\r\nbe returned in a single read.", "type": "integer" }, "maxReturnEventValues": { "format": "int64", "description": "Maximum number of events that will be returned\r\nin a single read.", "type": "integer" }, "insertDataCapability": { "description": "Server supports inserting data", "type": "boolean" }, "replaceDataCapability": { "description": "Server supports replacing historic data", "type": "boolean" }, "updateDataCapability": { "description": "Server supports updating historic data", "type": "boolean" }, "deleteRawCapability": { "description": "Server supports deleting raw data", "type": "boolean" }, "deleteAtTimeCapability": { "description": "Server support deleting data at times", "type": "boolean" }, "insertEventCapability": { "description": "Server supports inserting events", "type": "boolean" }, "replaceEventCapability": { "description": "Server supports replacing events", "type": "boolean" }, "updateEventCapability": { "description": "Server supports updating events", "type": "boolean" }, "deleteEventCapability": { "description": "Server supports deleting events", "type": "boolean" }, "insertAnnotationCapability": { "description": "Allows inserting annotations", "type": "boolean" }, "serverTimestampSupported": { "description": "Server supports ServerTimestamps in addition\r\nto SourceTimestamp", "type": "boolean" }, "aggregateFunctions": { "description": "Supported aggregate functions", "type": "object", "additionalProperties": { "type": "string" } } }, "additionalProperties": false }, "HistoryUpdateOperation": { "description": "History update type", "enum": [ "Insert", "Replace", "Update", "Delete" ], "type": "string", "x-ms-enum": { "name": "HistoryUpdateOperation", "modelAsString": false } }, "HistoryUpdateResponseModel": { "description": "History update results", "type": "object", "properties": { "results": { "description": "List of results from the update operation", "type": "array", "items": { "$ref": "#/definitions/ServiceResultModel" } }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "InstanceDeclarationModel": { "description": "Instance declaration meta data", "type": "object", "properties": { "rootTypeId": { "description": "The type that the declaration belongs to.", "type": "string" }, "browsePath": { "description": "The browse path", "type": "array", "items": { "type": "string" } }, "displayPath": { "description": "A localized path to the instance declaration.", "type": "string" }, "modellingRule": { "description": "The modelling rule for the instance\r\ndeclaration (i.e. Mandatory or Optional).", "type": "string" }, "nodeId": { "description": "The node id for the instance.", "type": "string" }, "nodeClass": { "$ref": "#/definitions/NodeClass" }, "browseName": { "description": "The browse name for the instance declaration.", "type": "string" }, "displayName": { "description": "The display name for the instance declaration.", "type": "string" }, "description": { "description": "The description for the instance declaration.", "type": "string" }, "variable": { "$ref": "#/definitions/VariableMetadataModel" }, "method": { "$ref": "#/definitions/MethodMetadataModel" }, "overriddenDeclaration": { "$ref": "#/definitions/InstanceDeclarationModel" }, "modellingRuleId": { "description": "The modelling rule node id.", "type": "string" } }, "additionalProperties": false }, "MessageEncoding": { "description": "Message encoding", "enum": [ "Uadp", "Json", "Xml", "Avro", "IsReversible", "JsonReversible", "IsGzipCompressed", "JsonGzip", "AvroGzip", "JsonReversibleGzip" ], "type": "string", "x-ms-enum": { "name": "MessageEncoding", "modelAsString": false } }, "MessagingMode": { "description": "Message modes", "enum": [ "PubSub", "Samples", "FullNetworkMessages", "FullSamples", "DataSetMessages", "SingleDataSetMessage", "DataSets", "SingleDataSet", "RawDataSets", "SingleRawDataSet" ], "type": "string", "x-ms-enum": { "name": "MessagingMode", "modelAsString": false } }, "MethodCallArgumentModel": { "description": "Method argument model", "type": "object", "properties": { "value": { "description": "Initial value or value to use", "type": "object" }, "dataType": { "description": "Data type Id of the value (from meta data)", "type": "string" } }, "additionalProperties": false }, "MethodCallRequestModel": { "description": "Call request model", "type": "object", "properties": { "methodId": { "description": "Method id of method to call.", "type": "string" }, "objectId": { "description": "Context of the method, i.e. an object or object type\r\nnode. If null then the method is called in the context\r\nof the inverse HasComponent reference of the MethodId\r\nif it exists.", "type": "string" }, "arguments": { "description": "Arguments for the method - null means no args", "type": "array", "items": { "$ref": "#/definitions/MethodCallArgumentModel" } }, "methodBrowsePath": { "description": "An optional component path from the node identified by\r\nMethodId or from a resolved objectId to the actual\r\nmethod node.", "type": "array", "items": { "type": "string" } }, "objectBrowsePath": { "description": "An optional component path from the node identified by\r\nObjectId to the actual object or objectType node.\r\nIf ObjectId is null, the root node (i=84) is used", "type": "array", "items": { "type": "string" } }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "MethodCallRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/MethodCallRequestModel" } }, "additionalProperties": false }, "MethodCallResponseModel": { "description": "Method call response model", "required": [ "results" ], "type": "object", "properties": { "results": { "description": "Resulting output values of method call", "type": "array", "items": { "$ref": "#/definitions/MethodCallArgumentModel" } }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "MethodMetadataArgumentModel": { "description": "Method argument metadata model", "required": [ "name", "type" ], "type": "object", "properties": { "name": { "description": "Name of the argument", "type": "string" }, "description": { "description": "Optional description of argument", "type": "string" }, "type": { "$ref": "#/definitions/NodeModel" }, "defaultValue": { "description": "Default value for the argument", "type": "object" }, "valueRank": { "$ref": "#/definitions/NodeValueRank" }, "arrayDimensions": { "format": "int64", "description": "Optional Array dimension of argument", "type": "integer", "items": { "format": "int64", "type": "integer" } }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "MethodMetadataModel": { "description": "Method metadata model", "type": "object", "properties": { "objectId": { "description": "Id of object that the method is a component of", "type": "string" }, "inputArguments": { "description": "Input argument meta data", "type": "array", "items": { "$ref": "#/definitions/MethodMetadataArgumentModel" } }, "outputArguments": { "description": "output argument meta data", "type": "array", "items": { "$ref": "#/definitions/MethodMetadataArgumentModel" } } }, "additionalProperties": false }, "MethodMetadataRequestModel": { "description": "Method metadata request model", "type": "object", "properties": { "methodId": { "description": "Method id of method to call.\r\n(Required)", "type": "string" }, "methodBrowsePath": { "description": "An optional component path from the node identified by\r\nMethodId to the actual method node.", "type": "array", "items": { "type": "string" } }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "MethodMetadataRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/MethodMetadataRequestModel" } }, "additionalProperties": false }, "MethodMetadataResponseModel": { "description": "Result of method metadata query", "type": "object", "properties": { "objectId": { "description": "Id of object that the method is a component of", "type": "string" }, "inputArguments": { "description": "Input argument meta data", "type": "array", "items": { "$ref": "#/definitions/MethodMetadataArgumentModel" } }, "outputArguments": { "description": "output argument meta data", "type": "array", "items": { "$ref": "#/definitions/MethodMetadataArgumentModel" } }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "ModelChangeHandlingOptionsModel": { "description": "Describes how model changes are published", "type": "object", "properties": { "rebrowseIntervalTimespan": { "format": "date-span", "description": "Rebrowse period", "type": "string" } }, "additionalProperties": false }, "ModificationInfoModel": { "description": "Modification information", "type": "object", "properties": { "modificationTime": { "format": "date-time", "description": "Modification time", "type": "string" }, "updateType": { "$ref": "#/definitions/HistoryUpdateOperation" }, "userName": { "description": "User who made the change", "type": "string" } }, "additionalProperties": false }, "MonitoredItemWatchdogCondition": { "description": "Monitored item watchdog condition", "enum": [ "WhenAllAreLate", "WhenAnyIsLate" ], "type": "string", "x-ms-enum": { "name": "MonitoredItemWatchdogCondition", "modelAsString": false } }, "NamespaceFormat": { "description": "Namespace serialization format for node ids\r\nand qualified names.", "enum": [ "Uri", "Index", "Expanded" ], "type": "string", "x-ms-enum": { "name": "NamespaceFormat", "modelAsString": false } }, "NodeAccessLevel": { "description": "Flags that can be set for the AccessLevel attribute.", "enum": [ "None", "CurrentRead", "CurrentWrite", "HistoryRead", "HistoryWrite", "SemanticChange", "StatusWrite", "TimestampWrite", "NonatomicRead", "NonatomicWrite", "WriteFullArrayOnly" ], "type": "string", "x-ms-enum": { "name": "NodeAccessLevel", "modelAsString": false } }, "NodeAccessRestrictions": { "description": "Flags that can be read or written in the\r\nAccessRestrictions attribute.", "enum": [ "None", "SigningRequired", "EncryptionRequired", "SessionRequired" ], "type": "string", "x-ms-enum": { "name": "NodeAccessRestrictions", "modelAsString": false } }, "NodeAttribute": { "description": "Node attribute identifiers", "enum": [ "NodeId", "NodeClass", "BrowseName", "DisplayName", "Description", "WriteMask", "UserWriteMask", "IsAbstract", "Symmetric", "InverseName", "ContainsNoLoops", "EventNotifier", "Value", "DataType", "ValueRank", "ArrayDimensions", "AccessLevel", "UserAccessLevel", "MinimumSamplingInterval", "Historizing", "Executable", "UserExecutable", "DataTypeDefinition", "RolePermissions", "UserRolePermissions", "AccessRestrictions" ], "type": "string", "x-ms-enum": { "name": "NodeAttribute", "modelAsString": false } }, "NodeClass": { "description": "Node class", "enum": [ "Object", "Variable", "Method", "ObjectType", "VariableType", "ReferenceType", "DataType", "View" ], "type": "string", "x-ms-enum": { "name": "NodeClass", "modelAsString": false } }, "NodeEventNotifier": { "description": "Flags that can be set for the EventNotifier attribute.", "enum": [ "SubscribeToEvents", "HistoryRead", "HistoryWrite" ], "type": "string", "x-ms-enum": { "name": "NodeEventNotifier", "modelAsString": false } }, "NodeIdModel": { "description": "Node id serialized as object", "type": "object", "properties": { "Identifier": { "description": "Identifier", "type": "string" } }, "additionalProperties": false }, "NodeMetadataRequestModel": { "description": "Node metadata request model", "type": "object", "properties": { "header": { "$ref": "#/definitions/RequestHeaderModel" }, "nodeId": { "description": "Node id of the type.\r\n(Required)", "type": "string" }, "browsePath": { "description": "An optional component path from the node identified by\r\nNodeId to the actual node.", "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "NodeMetadataRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/NodeMetadataRequestModel" } }, "additionalProperties": false }, "NodeMetadataResponseModel": { "description": "Node metadata model", "type": "object", "properties": { "nodeId": { "description": "The node id of the node", "type": "string" }, "nodeClass": { "$ref": "#/definitions/NodeClass" }, "displayName": { "description": "The display name of the node.", "type": "string" }, "description": { "description": "The description for the node.", "type": "string" }, "variableMetadata": { "$ref": "#/definitions/VariableMetadataModel" }, "dataTypeMetadata": { "$ref": "#/definitions/DataTypeMetadataModel" }, "nethodMetadata": { "$ref": "#/definitions/MethodMetadataModel" }, "typeDefinition": { "$ref": "#/definitions/TypeDefinitionModel" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "NodeModel": { "description": "Node model", "required": [ "nodeId" ], "type": "object", "properties": { "nodeClass": { "$ref": "#/definitions/NodeClass" }, "displayName": { "description": "Display name", "type": "string" }, "nodeId": { "description": "Id of node.\r\n(Mandatory).", "minLength": 1, "type": "string" }, "description": { "description": "Description if any", "type": "string" }, "browseName": { "description": "Browse name", "type": "string" }, "value": { "description": "Value of variable or default value of the\r\nsubtyped variable in case node is a variable\r\ntype, otherwise null.", "type": "object" }, "sourcePicoseconds": { "format": "int32", "description": "Pico seconds part of when value was read at source.", "type": "integer" }, "sourceTimestamp": { "format": "date-time", "description": "Timestamp of when value was read at source.", "type": "string" }, "serverPicoseconds": { "format": "int32", "description": "Pico seconds part of when value was read at server.", "type": "integer" }, "serverTimestamp": { "format": "date-time", "description": "Timestamp of when value was read at server.", "type": "string" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" }, "accessRestrictions": { "$ref": "#/definitions/NodeAccessRestrictions" }, "writeMask": { "format": "int64", "description": "Default write mask for the node\r\n(default: 0)", "type": "integer" }, "userWriteMask": { "format": "int64", "description": "User write mask for the node\r\n(default: 0)", "type": "integer" }, "isAbstract": { "description": "Whether type is abstract, if type can\r\nbe abstract. Null if not type node.\r\n(default: false)", "type": "boolean" }, "containsNoLoops": { "description": "Whether a view contains loops. Null if\r\nnot a view.", "type": "boolean" }, "eventNotifier": { "$ref": "#/definitions/NodeEventNotifier" }, "executable": { "description": "If method node class, whether method can\r\nbe called.", "type": "boolean" }, "userExecutable": { "description": "If method node class, whether method can\r\nbe called by current user.\r\n(default: false if not executable)", "type": "boolean" }, "dataTypeDefinition": { "description": "Data type definition in case node is a\r\ndata type node and definition is available,\r\notherwise null.", "type": "object" }, "accessLevel": { "$ref": "#/definitions/NodeAccessLevel" }, "userAccessLevel": { "$ref": "#/definitions/NodeAccessLevel" }, "dataType": { "description": "If variable the datatype of the variable.\r\n(default: null)", "type": "string" }, "valueRank": { "$ref": "#/definitions/NodeValueRank" }, "arrayDimensions": { "format": "int64", "description": "Array dimensions of variable or variable type.\r\n(default: empty array)", "type": "integer", "items": { "format": "int64", "type": "integer" } }, "historizing": { "description": "Whether the value of a variable is historizing.\r\n(default: false)", "type": "boolean" }, "minimumSamplingInterval": { "format": "double", "description": "Minimum sampling interval for the variable\r\nvalue, otherwise null if not a variable node.\r\n(default: null)", "type": "number" }, "inverseName": { "description": "Inverse name of the reference if the node is\r\na reference type, otherwise null.", "type": "string" }, "symmetric": { "description": "Whether the reference is symmetric in case\r\nthe node is a reference type, otherwise\r\nnull.", "type": "boolean" }, "rolePermissions": { "description": "Role permissions", "type": "array", "items": { "$ref": "#/definitions/RolePermissionModel" } }, "userRolePermissions": { "description": "User Role permissions", "type": "array", "items": { "$ref": "#/definitions/RolePermissionModel" } }, "typeDefinitionId": { "description": "Optional type definition of the node", "type": "string" }, "children": { "description": "Whether node has children which are defined as\r\nany forward hierarchical references.\r\n(default: unknown)", "type": "boolean" } }, "additionalProperties": false }, "NodePathTargetModel": { "description": "Node path target", "required": [ "browsePath", "target" ], "type": "object", "properties": { "browsePath": { "description": "The target browse path", "type": "array", "items": { "type": "string" } }, "target": { "$ref": "#/definitions/NodeModel" }, "remainingPathIndex": { "format": "int32", "description": "Remaining index in path", "type": "integer" } }, "additionalProperties": false }, "NodeReferenceModel": { "description": "Reference model", "required": [ "target" ], "type": "object", "properties": { "referenceTypeId": { "description": "Reference Type id", "type": "string" }, "direction": { "$ref": "#/definitions/BrowseDirection" }, "target": { "$ref": "#/definitions/NodeModel" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "NodeType": { "description": "The node type", "enum": [ "Unknown", "Variable", "DataVariable", "Property", "DataType", "View", "Object", "Event", "Interface" ], "type": "string", "x-ms-enum": { "name": "NodeType", "modelAsString": false } }, "NodeValueRank": { "description": "Constants defined for the ValueRank attribute.", "enum": [ "OneOrMoreDimensions", "OneDimension", "TwoDimensions", "ScalarOrOneDimension", "Any", "Scalar" ], "type": "string", "x-ms-enum": { "name": "NodeValueRank", "modelAsString": false } }, "OpcAuthenticationMode": { "description": "Enum that defines the authentication method", "enum": [ "Anonymous", "UsernamePassword", "Certificate" ], "type": "string", "x-ms-enum": { "name": "OpcAuthenticationMode", "modelAsString": false } }, "OpcNodeModel": { "description": "Describing an entry in the node list", "type": "object", "properties": { "Id": { "description": "Node Identifier", "type": "string" }, "OpcSamplingInterval": { "format": "int32", "description": "Sampling interval in milliseconds", "type": "integer" }, "OpcSamplingIntervalTimespan": { "format": "date-span", "description": "OpcSamplingInterval as TimeSpan.", "type": "string" }, "DataSetFieldId": { "description": "The identifier of the field in the dataset message.\r\nIf not provided Azure.IIoT.OpcUa.Publisher.Models.OpcNodeModel.DisplayName is used.", "type": "string" }, "DataSetClassFieldId": { "format": "uuid", "description": "The identifier of the field in the dataset class.\r\nAllows correlation to the data set class.", "type": "string" }, "DisplayName": { "description": "Display name", "type": "string" }, "QueueSize": { "format": "int64", "description": "Queue Size for the monitored item on the server.\r\nSpecifies how many values are queued on the server\r\nbefore undelivered ones are discarded.", "type": "integer" }, "DiscardNew": { "description": "Discard new values in the server queue instead of\r\nold values when no more room in queue.", "type": "boolean" }, "DataChangeTrigger": { "$ref": "#/definitions/DataChangeTriggerType" }, "DeadbandType": { "$ref": "#/definitions/DeadbandType" }, "DeadbandValue": { "format": "double", "description": "Deadband value of the data change filter to apply.\r\nDoes not apply to events", "type": "number" }, "EventFilter": { "$ref": "#/definitions/EventFilterModel" }, "ConditionHandling": { "$ref": "#/definitions/ConditionHandlingOptionsModel" }, "CyclicReadMaxAgeTimespan": { "format": "date-span", "description": "The max cache age to use for cyclic reads.\r\nDefault is 0 (uncached reads).", "type": "string" }, "BrowsePath": { "description": "Browse path from the node to reach the actual node\r\nto monitor.", "type": "array", "items": { "type": "string" } }, "AttributeId": { "$ref": "#/definitions/NodeAttribute" }, "IndexRange": { "description": "Index range to read, default to null.", "type": "string" }, "Topic": { "description": "Topic to publish to - splits network messages\r\nalong the lines of topic name and overrides\r\nthe queue name of the writer and writer group.", "type": "string" }, "QualityOfService": { "$ref": "#/definitions/QoS" }, "HeartbeatBehavior": { "$ref": "#/definitions/HeartbeatBehavior" }, "HeartbeatInterval": { "format": "int32", "description": "Heartbeat interval in seconds", "type": "integer" }, "HeartbeatIntervalTimespan": { "format": "date-span", "description": "Heartbeat interval as TimeSpan.", "type": "string" }, "SkipFirst": { "description": "Do not send the first value that is always provided\r\nby the server when the monitored item is created.", "type": "boolean" }, "OpcPublishingInterval": { "format": "int32", "description": "Publishing interval in milliseconds", "type": "integer" }, "OpcPublishingIntervalTimespan": { "format": "date-span", "description": "OpcPublishingInterval as TimeSpan.", "type": "string" }, "UseCyclicRead": { "description": "Use cyclic read to sample.", "type": "boolean" }, "RegisterNode": { "description": "Register node for reading before sampling.", "type": "boolean" }, "FetchDisplayName": { "description": "Fetch display name from the node", "type": "boolean" }, "ModelChangeHandling": { "$ref": "#/definitions/ModelChangeHandlingOptionsModel" }, "TriggeredNodes": { "description": "Nodes that are triggered by the parent node.\r\nNodes cannot themselves trigger other nodes, any\r\nsuch setting is silently discarded. Triggered nodes\r\ncan only be updated as an atomic unit using API.", "type": "array", "items": { "$ref": "#/definitions/OpcNodeModel" } }, "ExpandedNodeId": { "description": "Expanded Node identifier (same as Azure.IIoT.OpcUa.Publisher.Models.OpcNodeModel.Id)", "type": "string" } }, "additionalProperties": false }, "OperationContextModel": { "description": "Operation log model", "type": "object", "properties": { "AuthorityId": { "description": "User", "type": "string" }, "Time": { "format": "date-time", "description": "Operation time", "type": "string" } }, "additionalProperties": false }, "OperationLimitsModel": { "description": "Server limits", "type": "object", "properties": { "minSupportedSampleRate": { "format": "double", "description": "Min supported sampling rate", "type": "number" }, "maxBrowseContinuationPoints": { "format": "int32", "description": "Max browse continuation points", "type": "integer" }, "maxQueryContinuationPoints": { "format": "int32", "description": "Max query continuation points", "type": "integer" }, "maxHistoryContinuationPoints": { "format": "int32", "description": "Max history continuation points", "type": "integer" }, "maxArrayLength": { "format": "int64", "description": "Max array length supported", "type": "integer" }, "maxStringLength": { "format": "int64", "description": "Max string length supported", "type": "integer" }, "maxByteStringLength": { "format": "int64", "description": "Max byte buffer length supported", "type": "integer" }, "maxNodesPerBrowse": { "format": "int64", "description": "Max nodes that can be part of a single browse call.", "type": "integer" }, "maxNodesPerRead": { "format": "int64", "description": "Max nodes that can be read in single read call", "type": "integer" }, "maxNodesPerWrite": { "format": "int64", "description": "Max nodes that can be read in single write call", "type": "integer" }, "maxNodesPerMethodCall": { "format": "int64", "description": "Max nodes that can be read in single method call", "type": "integer" }, "maxNodesPerHistoryReadData": { "format": "int64", "description": "Number of nodes that can be in a History Read value call", "type": "integer" }, "maxNodesPerHistoryReadEvents": { "format": "int64", "description": "Number of nodes that can be in a History Read events call", "type": "integer" }, "maxNodesPerHistoryUpdateData": { "format": "int64", "description": "Number of nodes that can be in a History Update call", "type": "integer" }, "maxNodesPerHistoryUpdateEvents": { "format": "int64", "description": "Number of nodes that can be in a History events update call", "type": "integer" }, "maxNodesPerRegisterNodes": { "format": "int64", "description": "Max nodes that can be registered at once", "type": "integer" }, "maxNodesPerTranslatePathsToNodeIds": { "format": "int64", "description": "Max nodes that can be part of a browse path", "type": "integer" }, "maxNodesPerNodeManagement": { "format": "int64", "description": "Max nodes that can be added or removed in a single call.", "type": "integer" }, "maxMonitoredItemsPerCall": { "format": "int64", "description": "Max monitored items that can be updated at once.", "type": "integer" } }, "additionalProperties": false }, "ProblemDetails": { "type": "object", "properties": { "type": { "type": "string" }, "title": { "type": "string" }, "status": { "format": "int32", "type": "integer" }, "detail": { "type": "string" }, "instance": { "type": "string" } }, "additionalProperties": {} }, "PublishBulkRequestModel": { "description": "Publish in bulk request", "type": "object", "properties": { "nodesToAdd": { "description": "Node to add", "type": "array", "items": { "$ref": "#/definitions/PublishedItemModel" } }, "nodesToRemove": { "description": "Node to remove", "type": "array", "items": { "type": "string" } }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "PublishBulkRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/PublishBulkRequestModel" } }, "additionalProperties": false }, "PublishBulkResponseModel": { "description": "Result of bulk request", "type": "object", "properties": { "nodesToAdd": { "description": "Node to add", "type": "array", "items": { "$ref": "#/definitions/ServiceResultModel" } }, "nodesToRemove": { "description": "Node to remove", "type": "array", "items": { "$ref": "#/definitions/ServiceResultModel" } } }, "additionalProperties": false }, "PublishDiagnosticInfoModel": { "description": "Model for a diagnostic info.", "type": "object", "properties": { "endpoints": { "description": "Endpoints covered by the diagnostics model.\r\nThe endpoints are all part of the same writer\r\ngroup. Specify", "type": "array", "items": { "$ref": "#/definitions/PublishedNodesEntryModel" } }, "sentMessagesPerSec": { "format": "double", "description": "SentMessagesPerSec", "type": "number" }, "ingestionDuration": { "format": "date-span", "description": "IngestionDuration", "type": "string" }, "ingressDataChanges": { "format": "int64", "description": "IngressDataChanges", "type": "integer" }, "ingressValueChanges": { "format": "int64", "description": "IngressValueChanges", "type": "integer" }, "ingressBatchBlockBufferSize": { "format": "int64", "description": "IngressBatchBlockBufferSize", "type": "integer" }, "encodingBlockInputSize": { "format": "int64", "description": "EncodingBlockInputSize", "type": "integer" }, "encodingBlockOutputSize": { "format": "int64", "description": "EncodingBlockOutputSize", "type": "integer" }, "encoderNotificationsProcessed": { "format": "int64", "description": "EncoderNotificationsProcessed", "type": "integer" }, "encoderNotificationsDropped": { "format": "int64", "description": "EncoderNotificationsDropped", "type": "integer" }, "encoderIoTMessagesProcessed": { "format": "int64", "description": "EncoderIoTMessagesProcessed", "type": "integer" }, "encoderAvgNotificationsMessage": { "format": "double", "description": "EncoderAvgNotificationsMessage", "type": "number" }, "encoderAvgIoTMessageBodySize": { "format": "double", "description": "EncoderAvgIoTMessageBodySize", "type": "number" }, "encoderAvgIoTChunkUsage": { "format": "double", "description": "EncoderAvgIoTChunkUsage", "type": "number" }, "estimatedIoTChunksPerDay": { "format": "double", "description": "EstimatedIoTChunksPerDay", "type": "number" }, "outgressInputBufferCount": { "format": "int64", "description": "OutgressInputBufferCount", "type": "integer" }, "outgressInputBufferDropped": { "format": "int64", "description": "OutgressInputBufferDropped", "type": "integer" }, "outgressIoTMessageCount": { "format": "int64", "description": "OutgressIoTMessageCount", "type": "integer" }, "connectionRetries": { "format": "int64", "description": "ConnectionRetries", "type": "integer" }, "opcEndpointConnected": { "description": "OpcEndpointConnected", "type": "boolean" }, "monitoredOpcNodesSucceededCount": { "format": "int64", "description": "MonitoredOpcNodesSucceededCount", "type": "integer" }, "monitoredOpcNodesFailedCount": { "format": "int64", "description": "MonitoredOpcNodesFailedCount", "type": "integer" }, "ingressEventNotifications": { "format": "int64", "description": "Number of incoming event notifications", "type": "integer" }, "ingressEvents": { "format": "int64", "description": "Total incoming events so far.", "type": "integer" }, "encoderMaxMessageSplitRatio": { "format": "double", "description": "Encoder max message split ratio", "type": "number" }, "ingressDataChangesInLastMinute": { "format": "int64", "description": "Data changes received in the last minute", "type": "integer" }, "ingressValueChangesInLastMinute": { "format": "int64", "description": "Value changes received in the last minute", "type": "integer" }, "ingressHeartbeats": { "format": "int64", "description": "Number of heartbeats of the total value changes", "type": "integer" }, "ingressCyclicReads": { "format": "int64", "description": "Number of cyclic reads of the total value changes", "type": "integer" } }, "additionalProperties": false }, "PublishStartRequestModel": { "description": "Publish request", "required": [ "item" ], "type": "object", "properties": { "item": { "$ref": "#/definitions/PublishedItemModel" }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "PublishStartRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/PublishStartRequestModel" } }, "additionalProperties": false }, "PublishStartResponseModel": { "description": "Result of publish request", "type": "object", "properties": { "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "PublishStopRequestModel": { "description": "Unpublish request", "required": [ "nodeId" ], "type": "object", "properties": { "nodeId": { "description": "Node of published item to unpublish", "minLength": 1, "type": "string" }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "PublishStopRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/PublishStopRequestModel" } }, "additionalProperties": false }, "PublishStopResponseModel": { "description": "Result of publish stop request", "type": "object", "properties": { "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "PublishedItemListRequestModel": { "description": "Request list of published items", "type": "object", "properties": { "continuationToken": { "description": "Continuation token or null to start", "type": "string" }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "PublishedItemListRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/PublishedItemListRequestModel" } }, "additionalProperties": false }, "PublishedItemListResponseModel": { "description": "List of published nodes", "type": "object", "properties": { "items": { "description": "Monitored items", "type": "array", "items": { "$ref": "#/definitions/PublishedItemModel" } }, "continuationToken": { "description": "Continuation or null if final", "type": "string" } }, "additionalProperties": false }, "PublishedItemModel": { "description": "A monitored and published item", "required": [ "nodeId" ], "type": "object", "properties": { "nodeId": { "description": "Variable node monitored", "minLength": 1, "type": "string" }, "displayName": { "description": "Display name of the variable node monitored", "type": "string" }, "publishingInterval": { "format": "date-span", "description": "Publishing interval to use", "type": "string" }, "samplingInterval": { "format": "date-span", "description": "Sampling interval to use", "type": "string" }, "heartbeatInterval": { "format": "date-span", "description": "Heartbeat interval to use", "type": "string" } }, "additionalProperties": false }, "PublishedNodeDeleteAssetRequestModel": { "description": "Contains entry in the published nodes configuration representing\r\nthe asset as well as an optional request header.", "required": [ "entry" ], "type": "object", "properties": { "header": { "$ref": "#/definitions/RequestHeaderModel" }, "entry": { "$ref": "#/definitions/PublishedNodesEntryModel" }, "force": { "description": "The asset on the server is deleted no matter whether\r\nthe removal in the publisher configuration was successful\r\nor not.", "type": "boolean" } }, "additionalProperties": false }, "PublishedNodeExpansionModel": { "description": "\r\n\r\n Node expansion configuration. Configures how an entry should\r\n be expanded into configuration. If a node is an object it is\r\n expanded to all contained variables.\r\n \r\n\r\n\r\n If a node is an object type, all objects of that type are\r\n searched from the object root node. These found objects are\r\n then expanded into their variables.\r\n \r\n\r\n\r\n If the node is a variable, the variable is expanded to include\r\n all contained variables or properties. All entries will have\r\n the data set field id configured as data set class id.\r\n \r\n\r\n\r\n If a node is a variable type, then all variables of this type\r\n are found and added to a single writer entry. Note: That by\r\n themselves these variables are no further expanded.\r\n ", "type": "object", "properties": { "header": { "$ref": "#/definitions/RequestHeaderModel" }, "createSingleWriter": { "description": "By default the api will create a new distinct\r\nwriter per expanded object. Objects that cannot\r\nbe expanded are part of the originally provided\r\nwriter. The writer id is then post fixed with\r\nthe data set field id of the object node field.\r\nIf true, all variables of all expanded nodes are\r\nadded to the originally provided entry.", "type": "boolean" }, "maxLevelsToExpand": { "format": "int64", "description": "Max number of levels to expand an instance node\r\nsuch as an object or variable into resulting\r\nvariables.\r\nIf the node is a variable instance to start with\r\nbut the Azure.IIoT.OpcUa.Publisher.Models.PublishedNodeExpansionModel.ExcludeRootIfInstanceNode\r\nproperty is set to excluded it, then setting this\r\nvalue to 0 is equivalent to a value of 1 to get\r\nthe first level of variables contained in the\r\nvariable, but not the variable itself. Otherwise\r\nonly the variable itelf is returned. If the node\r\nis an object instance, 0 is equivalent to\r\ninfinite and all levels are expanded.", "type": "integer" }, "noSubTypesOfTypeNodes": { "description": "Do not consider subtypes of an object type when\r\nsearching for instances of the type.", "type": "boolean" }, "excludeRootIfInstanceNode": { "description": "If the node is an object or variable instance do\r\nnot include it but only the instances underneath\r\nthem.", "type": "boolean" }, "maxDepth": { "format": "int64", "description": "Max browse depth for object search operation or\r\nwhen searching for an instance of a type.\r\nTo only expand an object to its variables set\r\nthis value to 0. The depth of expansion of a\r\nvariable itself can be controlled via the\r\nAzure.IIoT.OpcUa.Publisher.Models.PublishedNodeExpansionModel.MaxLevelsToExpand\" property.\r\nIf the root object is excluded a value of 0 is\r\nequivalent to a value of 1 to get the first level\r\nof objects contained in the object but not the\r\nobject itself, e.g. a folder object.", "type": "integer" }, "stopAtFirstFoundInstance": { "description": "If the depth is not limited and the node is a\r\ntype definition id set this flag to true to find\r\nonly the first instance of this type from the\r\nobject root.", "type": "boolean" }, "discardErrors": { "description": "Errors are silently discarded and only\r\nsuccessfully expanded nodes are returned.", "type": "boolean" } }, "additionalProperties": false }, "PublishedNodeExpansionModelPublishedNodesEntryRequestModel": { "description": "Wraps a request and a published nodes entry to bind to a\r\nbody more easily for api that requires an entry and additional\r\nconfiguration", "required": [ "entry" ], "type": "object", "properties": { "entry": { "$ref": "#/definitions/PublishedNodesEntryModel" }, "request": { "$ref": "#/definitions/PublishedNodeExpansionModel" } }, "additionalProperties": false }, "PublishedNodesEntryModel": { "description": "Contains the nodes which should be published", "required": [ "EndpointUrl" ], "type": "object", "properties": { "Version": { "format": "int64", "description": "Version number of the entry", "type": "integer" }, "LastChangeDateTime": { "format": "date-time", "description": "Last change to the entry", "type": "string" }, "DataSetWriterId": { "description": "Name of the data set writer.", "type": "string" }, "DataSetWriterGroup": { "description": "The Group the writer belongs to.", "type": "string" }, "OpcNodes": { "description": "Nodes defined in the collection.", "type": "array", "items": { "$ref": "#/definitions/OpcNodeModel" } }, "DataSetClassId": { "format": "uuid", "description": "A dataset class id.", "type": "string" }, "DataSetName": { "description": "The optional short name of the dataset.", "type": "string" }, "DataSetPublishingInterval": { "format": "int32", "description": "The Publishing interval for a dataset writer\r\nin miliseconds.", "type": "integer" }, "DataSetPublishingIntervalTimespan": { "format": "date-span", "description": "The Publishing interval for a dataset writer\r\nin timespan format. Takes precedence over\r\nAzure.IIoT.OpcUa.Publisher.Models.PublishedNodesEntryModel.DataSetPublishingInterval if defined.", "type": "string" }, "DataSetKeyFrameCount": { "format": "int64", "description": "Insert a key frame every x messages", "type": "integer" }, "MetaDataUpdateTime": { "format": "int32", "description": "Send metadata at the configured interval\r\neven when not changing expressed in milliseconds.", "type": "integer" }, "MetaDataUpdateTimeTimespan": { "format": "date-span", "description": "Send metadata at the configured interval even when not\r\nchanging expressed as duration. Takes precedence over\r\nAzure.IIoT.OpcUa.Publisher.Models.PublishedNodesEntryModel.MetaDataUpdateTimeif defined.", "type": "string" }, "SendKeepAliveDataSetMessages": { "description": "Send a keep alive message when a subscription keep\r\nalive notification is received inside the writer. If keep\r\nalive messages are not supported by the messaging\r\nprofile chosen this value is ignored.", "type": "boolean" }, "EndpointUrl": { "description": "The endpoint URL of the OPC UA server.", "minLength": 1, "type": "string" }, "MaxKeepAliveCount": { "format": "int64", "description": "When the publishing timer has expired this number of\r\ntimes without requiring any Notification to be sent,\r\nto the writer a keep-alive message is sent.", "type": "integer" }, "DataSetDescription": { "description": "The optional description of the dataset.", "type": "string" }, "Priority": { "format": "int32", "description": "Priority of the writer subscription.", "type": "integer" }, "DataSetExtensionFields": { "description": "Optional field and value pairs to insert into the\r\ndata sets emitted by data set writer.", "type": "object", "additionalProperties": { "description": "A variant which can be represented by any value including null.", "type": "object" } }, "EndpointSecurityMode": { "$ref": "#/definitions/SecurityMode" }, "EndpointSecurityPolicy": { "description": "The specific security policy to use for the specified\r\nendpoint. Overrides Azure.IIoT.OpcUa.Publisher.Models.PublishedNodesEntryModel.UseSecurity setting.\r\nIf the security policy is not available with the\r\nspecified security mode connectivity will fail.", "type": "string" }, "MessagingMode": { "$ref": "#/definitions/MessagingMode" }, "MessageEncoding": { "$ref": "#/definitions/MessageEncoding" }, "BatchSize": { "format": "int64", "description": "Send network messages when the notification queue\r\nexceeds this number. Causes this many notifications\r\nto be added to network messages", "type": "integer" }, "BatchTriggerInterval": { "format": "int32", "description": "Send network messages at the specified publishing\r\ninterval.", "type": "integer" }, "BatchTriggerIntervalTimespan": { "format": "date-span", "description": "Send network messages at the specified publishing\r\ninterval.\r\nTakes precedence over Azure.IIoT.OpcUa.Publisher.Models.PublishedNodesEntryModel.BatchTriggerInterval\r\nif defined.", "type": "string" }, "UseReverseConnect": { "description": "Use reverse connect to connect ot the endpoint", "type": "boolean" }, "DataSetRouting": { "$ref": "#/definitions/DataSetRoutingMode" }, "WriterGroupQueueName": { "description": "Writer group queue overrides the default writer group\r\ntopic template to use.", "type": "string" }, "WriterGroupQualityOfService": { "$ref": "#/definitions/QoS" }, "WriterGroupTransport": { "$ref": "#/definitions/WriterGroupTransport" }, "UseSecurity": { "description": "Secure transport should be used to connect to\r\nthe opc server.", "type": "boolean" }, "OpcAuthenticationMode": { "$ref": "#/definitions/OpcAuthenticationMode" }, "EncryptedAuthUsername": { "description": "encrypted username", "type": "string" }, "EncryptedAuthPassword": { "description": "encrypted password", "type": "string" }, "OpcAuthenticationUsername": { "description": "plain username", "type": "string" }, "OpcAuthenticationPassword": { "description": "plain password", "type": "string" }, "QueueName": { "description": "Writer queue overrides the writer group queue name.\r\nNetwork messages are then split across queues with\r\nQos also accounted for.", "type": "string" }, "MetaDataQueueName": { "description": "Meta data queue name to use for the writer. Overrides\r\nthe default metadata topic template.", "type": "string" }, "QualityOfService": { "$ref": "#/definitions/QoS" }, "WriterGroupPartitions": { "format": "int32", "description": "Number of partitions to split the writer group into\r\nwhen publishing to target topics.", "type": "integer" }, "DisableSubscriptionTransfer": { "description": "Disable subscription transfer on reconnect", "type": "boolean" }, "RepublishAfterTransfer": { "description": "Republish after transferring the subscription during\r\nreconnect handling unless subscription transfer was disabled.", "type": "boolean" }, "OpcNodeWatchdogTimespan": { "format": "date-span", "description": "The timeout to use to monitor the monitored items in the\r\nsubscription are continously reporting fresh data.", "type": "string" }, "DataSetWriterWatchdogBehavior": { "$ref": "#/definitions/SubscriptionWatchdogBehavior" }, "OpcNodeWatchdogCondition": { "$ref": "#/definitions/MonitoredItemWatchdogCondition" }, "DataSetSamplingInterval": { "format": "int32", "description": "The default sampling interval for all items in a dataset writer\r\nin miliseconds if the nodes do not specify a sampling rate.", "type": "integer" }, "DataSetSamplingIntervalTimespan": { "format": "date-span", "description": "The Sampling interval for the nodes in the dataset writer\r\nin timespan format. Takes precedence over\r\nAzure.IIoT.OpcUa.Publisher.Models.PublishedNodesEntryModel.DataSetSamplingInterval if defined.", "type": "string" }, "DataSetFetchDisplayNames": { "description": "Whether to fetch the display name and use it as\r\ndata set id for all opc node items in the data set", "type": "boolean" }, "WriterGroupMessageTtlTimepan": { "format": "date-span", "description": "Default time to live for messages sent through\r\nthe writer group if the transport supports it.", "type": "string" }, "WriterGroupMessageRetention": { "description": "Default message retention setting for messages sent\r\nthrough the writer group if the transport supports it.", "type": "boolean" }, "MessageTtlTimespan": { "format": "date-span", "description": "Message time to live for messages sent by the\r\nwriter if the transport supports it.", "type": "string" }, "MessageRetention": { "description": "Message retention setting for messages sent by\r\nthe writer if the transport supports it.", "type": "boolean" }, "DefaultHeartbeatInterval": { "format": "int32", "description": "Default heartbeat interval in milliseconds", "type": "integer" }, "DefaultHeartbeatIntervalTimespan": { "format": "date-span", "description": "Default heartbeat interval for all nodes as duration. Takes\r\nprecedence over Azure.IIoT.OpcUa.Publisher.Models.PublishedNodesEntryModel.DefaultHeartbeatInterval if\r\ndefined.", "type": "string" }, "DefaultHeartbeatBehavior": { "$ref": "#/definitions/HeartbeatBehavior" }, "DumpConnectionDiagnostics": { "description": "Dump server diagnostics for the connection to enable\r\nadvanced troubleshooting scenarios.", "type": "boolean" }, "NodeId": { "$ref": "#/definitions/NodeIdModel" } }, "additionalProperties": false }, "PublishedNodesEntryModelServiceResponse": { "description": "Response envelope", "type": "object", "properties": { "result": { "$ref": "#/definitions/PublishedNodesEntryModel" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "PublishedNodesEntryModelServiceResponseIAsyncEnumerable": { "type": "object", "additionalProperties": false }, "PublishedNodesResponseModel": { "description": "PublishNodes direct method response", "type": "object", "additionalProperties": false }, "QoS": { "enum": [ "AtMostOnce", "AtLeastOnce", "ExactlyOnce" ], "type": "string", "x-ms-enum": { "name": "QoS", "modelAsString": false } }, "QueryCompilationRequestModel": { "description": "Query compiler request model", "required": [ "query" ], "type": "object", "properties": { "header": { "$ref": "#/definitions/RequestHeaderModel" }, "query": { "description": "The query to compile.", "minLength": 1, "type": "string" }, "queryType": { "$ref": "#/definitions/QueryType" } }, "additionalProperties": false }, "QueryCompilationRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/QueryCompilationRequestModel" } }, "additionalProperties": false }, "QueryCompilationResponseModel": { "description": "Query compiler response model", "type": "object", "properties": { "errorInfo": { "$ref": "#/definitions/ServiceResultModel" }, "eventFilter": { "$ref": "#/definitions/EventFilterModel" } }, "additionalProperties": false }, "QueryType": { "description": "Query type", "enum": [ "Event", "Query" ], "type": "string", "x-ms-enum": { "name": "QueryType", "modelAsString": false } }, "ReadEventsDetailsModel": { "description": "Read event data", "type": "object", "properties": { "startTime": { "format": "date-time", "description": "Start time to read from", "type": "string" }, "endTime": { "format": "date-time", "description": "End time to read to", "type": "string" }, "numEvents": { "format": "int64", "description": "Number of events to read", "type": "integer" }, "filter": { "$ref": "#/definitions/EventFilterModel" } }, "additionalProperties": false }, "ReadEventsDetailsModelHistoryReadRequestModel": { "description": "Request node history read", "required": [ "details" ], "type": "object", "properties": { "nodeId": { "description": "Node to read from (mandatory without browse path)", "type": "string" }, "browsePath": { "description": "An optional path from NodeId instance to\r\nthe actual node.", "type": "array", "items": { "type": "string" } }, "details": { "$ref": "#/definitions/ReadEventsDetailsModel" }, "indexRange": { "description": "Index range to read, e.g. 1:2,0:1 for 2 slices\r\nout of a matrix or 0:1 for the first item in\r\nan array, string or bytestring.\r\nSee 7.22 of part 4: NumericRange.", "type": "string" }, "header": { "$ref": "#/definitions/RequestHeaderModel" }, "timestampsToReturn": { "$ref": "#/definitions/TimestampsToReturn" } }, "additionalProperties": false }, "ReadEventsDetailsModelHistoryReadRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/ReadEventsDetailsModelHistoryReadRequestModel" } }, "additionalProperties": false }, "ReadModifiedValuesDetailsModel": { "description": "Read modified data", "type": "object", "properties": { "startTime": { "format": "date-time", "description": "The start time to read from", "type": "string" }, "endTime": { "format": "date-time", "description": "The end time to read to", "type": "string" }, "numValues": { "format": "int64", "description": "The number of values to read", "type": "integer" } }, "additionalProperties": false }, "ReadModifiedValuesDetailsModelHistoryReadRequestModel": { "description": "Request node history read", "required": [ "details" ], "type": "object", "properties": { "nodeId": { "description": "Node to read from (mandatory without browse path)", "type": "string" }, "browsePath": { "description": "An optional path from NodeId instance to\r\nthe actual node.", "type": "array", "items": { "type": "string" } }, "details": { "$ref": "#/definitions/ReadModifiedValuesDetailsModel" }, "indexRange": { "description": "Index range to read, e.g. 1:2,0:1 for 2 slices\r\nout of a matrix or 0:1 for the first item in\r\nan array, string or bytestring.\r\nSee 7.22 of part 4: NumericRange.", "type": "string" }, "header": { "$ref": "#/definitions/RequestHeaderModel" }, "timestampsToReturn": { "$ref": "#/definitions/TimestampsToReturn" } }, "additionalProperties": false }, "ReadModifiedValuesDetailsModelHistoryReadRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/ReadModifiedValuesDetailsModelHistoryReadRequestModel" } }, "additionalProperties": false }, "ReadProcessedValuesDetailsModel": { "description": "Read processed historic data", "type": "object", "properties": { "startTime": { "format": "date-time", "description": "Start time to read from.", "type": "string" }, "endTime": { "format": "date-time", "description": "End time to read until", "type": "string" }, "processingInterval": { "format": "date-span", "description": "Interval to process", "type": "string" }, "aggregateType": { "description": "The aggregate type to apply. Can be the name of\r\nthe aggregate if available in the history server\r\ncapabilities, or otherwise will be used as a node\r\nid referring to the aggregate.", "type": "string" }, "aggregateConfiguration": { "$ref": "#/definitions/AggregateConfigurationModel" } }, "additionalProperties": false }, "ReadProcessedValuesDetailsModelHistoryReadRequestModel": { "description": "Request node history read", "required": [ "details" ], "type": "object", "properties": { "nodeId": { "description": "Node to read from (mandatory without browse path)", "type": "string" }, "browsePath": { "description": "An optional path from NodeId instance to\r\nthe actual node.", "type": "array", "items": { "type": "string" } }, "details": { "$ref": "#/definitions/ReadProcessedValuesDetailsModel" }, "indexRange": { "description": "Index range to read, e.g. 1:2,0:1 for 2 slices\r\nout of a matrix or 0:1 for the first item in\r\nan array, string or bytestring.\r\nSee 7.22 of part 4: NumericRange.", "type": "string" }, "header": { "$ref": "#/definitions/RequestHeaderModel" }, "timestampsToReturn": { "$ref": "#/definitions/TimestampsToReturn" } }, "additionalProperties": false }, "ReadProcessedValuesDetailsModelHistoryReadRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/ReadProcessedValuesDetailsModelHistoryReadRequestModel" } }, "additionalProperties": false }, "ReadRequestModel": { "description": "Request node attribute read", "required": [ "attributes" ], "type": "object", "properties": { "attributes": { "description": "Attributes to read", "type": "array", "items": { "$ref": "#/definitions/AttributeReadRequestModel" } }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "ReadRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/ReadRequestModel" } }, "additionalProperties": false }, "ReadResponseModel": { "description": "Result of attribute reads", "required": [ "results" ], "type": "object", "properties": { "results": { "description": "All results of attribute reads", "type": "array", "items": { "$ref": "#/definitions/AttributeReadResponseModel" } }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "ReadValuesAtTimesDetailsModel": { "description": "Read data at specified times", "required": [ "reqTimes" ], "type": "object", "properties": { "reqTimes": { "description": "Requested datums", "type": "array", "items": { "format": "date-time", "type": "string" } }, "useSimpleBounds": { "description": "Whether to use simple bounds", "type": "boolean" } }, "additionalProperties": false }, "ReadValuesAtTimesDetailsModelHistoryReadRequestModel": { "description": "Request node history read", "required": [ "details" ], "type": "object", "properties": { "nodeId": { "description": "Node to read from (mandatory without browse path)", "type": "string" }, "browsePath": { "description": "An optional path from NodeId instance to\r\nthe actual node.", "type": "array", "items": { "type": "string" } }, "details": { "$ref": "#/definitions/ReadValuesAtTimesDetailsModel" }, "indexRange": { "description": "Index range to read, e.g. 1:2,0:1 for 2 slices\r\nout of a matrix or 0:1 for the first item in\r\nan array, string or bytestring.\r\nSee 7.22 of part 4: NumericRange.", "type": "string" }, "header": { "$ref": "#/definitions/RequestHeaderModel" }, "timestampsToReturn": { "$ref": "#/definitions/TimestampsToReturn" } }, "additionalProperties": false }, "ReadValuesAtTimesDetailsModelHistoryReadRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/ReadValuesAtTimesDetailsModelHistoryReadRequestModel" } }, "additionalProperties": false }, "ReadValuesDetailsModel": { "description": "Read historic values", "type": "object", "properties": { "startTime": { "format": "date-time", "description": "Beginning of period to read. Set to null\r\nif no specific start time is specified.", "type": "string" }, "endTime": { "format": "date-time", "description": "End of period to read. Set to null if no\r\nspecific end time is specified.", "type": "string" }, "numValues": { "format": "int64", "description": "The maximum number of values returned for any Node\r\nover the time range. If only one time is specified,\r\nthe time range shall extend to return this number\r\nof values. 0 or null indicates that there is no\r\nmaximum.", "type": "integer" }, "returnBounds": { "description": "Whether to return the bounding values or not.", "type": "boolean" } }, "additionalProperties": false }, "ReadValuesDetailsModelHistoryReadRequestModel": { "description": "Request node history read", "required": [ "details" ], "type": "object", "properties": { "nodeId": { "description": "Node to read from (mandatory without browse path)", "type": "string" }, "browsePath": { "description": "An optional path from NodeId instance to\r\nthe actual node.", "type": "array", "items": { "type": "string" } }, "details": { "$ref": "#/definitions/ReadValuesDetailsModel" }, "indexRange": { "description": "Index range to read, e.g. 1:2,0:1 for 2 slices\r\nout of a matrix or 0:1 for the first item in\r\nan array, string or bytestring.\r\nSee 7.22 of part 4: NumericRange.", "type": "string" }, "header": { "$ref": "#/definitions/RequestHeaderModel" }, "timestampsToReturn": { "$ref": "#/definitions/TimestampsToReturn" } }, "additionalProperties": false }, "ReadValuesDetailsModelHistoryReadRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/ReadValuesDetailsModelHistoryReadRequestModel" } }, "additionalProperties": false }, "RequestHeaderModel": { "description": "Request header model", "type": "object", "properties": { "elevation": { "$ref": "#/definitions/CredentialModel" }, "locales": { "description": "Optional list of preferred locales in preference\r\norder to be used during connecting the session.\r\nWe suggest to use the connection object to set\r\nthe locales", "type": "array", "items": { "type": "string" } }, "diagnostics": { "$ref": "#/definitions/DiagnosticsModel" }, "namespaceFormat": { "$ref": "#/definitions/NamespaceFormat" }, "operationTimeout": { "format": "int32", "description": "Operation timeout in ms. This applies to every\r\noperation that is invoked, not to the entire\r\ntransaction and overrides the configured operation\r\ntimeout.", "type": "integer" }, "serviceCallTimeout": { "format": "int32", "description": "Service call timeout in ms. As opposed to the\r\noperation timeout this terminates the entire\r\ntransaction if it takes longer than the timeout to\r\ncomplete. Note that a connect and reconnect during\r\nthe service call is gated by the connect timeout\r\nsetting. If a connect timeout is not specified\r\nthis timeout is used also for connect timeout.", "type": "integer" }, "connectTimeout": { "format": "int32", "description": "Connect timeout in ms. As opposed to the service call\r\ntimeout this terminates the entire transaction if\r\nit takes longer than the timeout to connect a session\r\nA connect and reconnect during the service call\r\nresets the timeout therefore the overall time for\r\nthe call to complete can be longer than specified.", "type": "integer" } }, "additionalProperties": false }, "RequestHeaderModelPublishedNodesEntryRequestModel": { "description": "Wraps a request and a published nodes entry to bind to a\r\nbody more easily for api that requires an entry and additional\r\nconfiguration", "required": [ "entry" ], "type": "object", "properties": { "entry": { "$ref": "#/definitions/PublishedNodesEntryModel" }, "request": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "RequestHeaderModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "RolePermissionModel": { "description": "Role permission model", "required": [ "roleId" ], "type": "object", "properties": { "roleId": { "description": "Identifier of the role object.", "minLength": 1, "type": "string" }, "permissions": { "$ref": "#/definitions/RolePermissions" } }, "additionalProperties": false }, "RolePermissions": { "description": "Individual permissions assigned to a role", "enum": [ "None", "Browse", "ReadRolePermissions", "WriteAttribute", "WriteRolePermissions", "WriteHistorizing", "Read", "Write", "ReadHistory", "InsertHistory", "ModifyHistory", "DeleteHistory", "ReceiveEvents", "Call", "AddReference", "RemoveReference", "DeleteNode", "AddNode" ], "type": "string", "x-ms-enum": { "name": "RolePermissions", "modelAsString": false } }, "SecurityMode": { "description": "Security mode of endpoint", "enum": [ "Best", "Sign", "SignAndEncrypt", "None", "NotNone" ], "type": "string", "x-ms-enum": { "name": "SecurityMode", "modelAsString": false } }, "ServerCapabilitiesModel": { "description": "Server capabilities", "required": [ "operationLimits" ], "type": "object", "properties": { "operationLimits": { "$ref": "#/definitions/OperationLimitsModel" }, "supportedLocales": { "description": "Supported locales", "type": "array", "items": { "type": "string" } }, "serverProfileArray": { "description": "Server profiles", "type": "array", "items": { "type": "string" } }, "modellingRules": { "description": "Supported modelling rules", "type": "object", "additionalProperties": { "type": "string" } }, "aggregateFunctions": { "description": "Supported aggregate functions", "type": "object", "additionalProperties": { "type": "string" } }, "MaxSessions": { "format": "int64", "description": "Supported aggregate functions", "type": "integer" }, "MaxSubscriptions": { "format": "int64", "description": "Supported aggregate functions", "type": "integer" }, "MaxMonitoredItems": { "format": "int64", "description": "Supported aggregate functions", "type": "integer" }, "MaxSubscriptionsPerSession": { "format": "int64", "description": "Supported aggregate functions", "type": "integer" }, "MaxMonitoredItemsPerSubscription": { "format": "int64", "description": "Supported aggregate functions", "type": "integer" }, "MaxSelectClauseParameters": { "format": "int64", "description": "Supported aggregate functions", "type": "integer" }, "MaxWhereClauseParameters": { "format": "int64", "description": "Supported aggregate functions", "type": "integer" }, "MaxMonitoredItemsQueueSize": { "format": "int64", "description": "Supported aggregate functions", "type": "integer" }, "conformanceUnits": { "description": "Supported aggregate functions", "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "ServerEndpointQueryModel": { "description": "Endpoint model", "type": "object", "properties": { "discoveryUrl": { "description": "Discovery url to use to query", "type": "string" }, "url": { "description": "Endpoint url that should match the found endpoint", "type": "string" }, "securityMode": { "$ref": "#/definitions/SecurityMode" }, "securityPolicy": { "description": "Endpoint must support this Security policy.", "type": "string" }, "certificate": { "description": "Endpoint must match with this certificate thumbprint", "type": "string" } }, "additionalProperties": false }, "ServerRegistrationRequestModel": { "description": "Server registration request", "required": [ "discoveryUrl" ], "type": "object", "properties": { "discoveryUrl": { "description": "Discovery url to use for registration", "minLength": 1, "type": "string" }, "id": { "description": "User defined request id", "type": "string" }, "context": { "$ref": "#/definitions/OperationContextModel" } }, "additionalProperties": false }, "ServiceResultModel": { "description": "Service result", "type": "object", "properties": { "statusCode": { "format": "int64", "description": "Error code - if null operation succeeded.", "type": "integer" }, "errorMessage": { "description": "Error message in case of error or null.", "type": "string" }, "symbolicId": { "description": "Symbolic identifier", "type": "string" }, "locale": { "description": "Locale of the error message", "type": "string" }, "additionalInfo": { "description": "Additional information if available", "type": "string" }, "namespaceUri": { "description": "Namespace uri", "type": "string" }, "inner": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "SetConfiguredEndpointsRequestModel": { "description": "Set configured endpoints request call", "type": "object", "properties": { "endpoints": { "description": "Endpoints and nodes that make up the configuration", "type": "array", "items": { "$ref": "#/definitions/PublishedNodesEntryModel" } } }, "additionalProperties": false }, "SimpleAttributeOperandModel": { "description": "Simple attribute operand model", "type": "object", "properties": { "typeDefinitionId": { "description": "Type definition node id if operand is\r\nsimple or full attribute operand.", "type": "string" }, "browsePath": { "description": "Browse path of attribute operand", "type": "array", "items": { "type": "string" } }, "attributeId": { "$ref": "#/definitions/NodeAttribute" }, "indexRange": { "description": "Index range of attribute operand", "type": "string" }, "displayName": { "description": "Optional display name", "type": "string" }, "dataSetClassFieldId": { "format": "uuid", "description": "Optional data set class field id (Publisher extension)", "type": "string" } }, "additionalProperties": false }, "SubscriptionWatchdogBehavior": { "description": "Subscription watchdog behavior", "enum": [ "Diagnostic", "Reset", "FailFast", "ExitProcess" ], "type": "string", "x-ms-enum": { "name": "SubscriptionWatchdogBehavior", "modelAsString": false } }, "TestConnectionRequestModel": { "description": "Test connection request", "type": "object", "properties": { "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "TestConnectionRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/TestConnectionRequestModel" } }, "additionalProperties": false }, "TestConnectionResponseModel": { "description": "Test connection response", "type": "object", "properties": { "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "TimestampsToReturn": { "description": "Timestamps", "enum": [ "Both", "Source", "Server", "None" ], "type": "string", "x-ms-enum": { "name": "TimestampsToReturn", "modelAsString": false } }, "TypeDefinitionModel": { "description": "Type definition", "required": [ "typeDefinitionId" ], "type": "object", "properties": { "typeDefinitionId": { "description": "The node id of the type of the node", "minLength": 1, "type": "string" }, "nodeType": { "$ref": "#/definitions/NodeType" }, "displayName": { "description": "Display name", "type": "string" }, "browseName": { "description": "Browse name", "type": "string" }, "description": { "description": "Description if any", "type": "string" }, "typeHierarchy": { "description": "Super types hierarchy starting from base type\r\nup to Azure.IIoT.OpcUa.Publisher.Models.TypeDefinitionModel.TypeDefinitionId which is\r\nnot included.", "type": "array", "items": { "$ref": "#/definitions/NodeModel" } }, "typeMembers": { "description": "Fully inherited instance declarations of the type\r\nof the node.", "type": "array", "items": { "$ref": "#/definitions/InstanceDeclarationModel" } } }, "additionalProperties": false }, "UpdateEventsDetailsModel": { "description": "Insert, upsert or replace historic events", "required": [ "events" ], "type": "object", "properties": { "filter": { "$ref": "#/definitions/EventFilterModel" }, "events": { "description": "The new events to insert", "type": "array", "items": { "$ref": "#/definitions/HistoricEventModel" } } }, "additionalProperties": false }, "UpdateEventsDetailsModelHistoryUpdateRequestModel": { "description": "Request node history update", "required": [ "details" ], "type": "object", "properties": { "nodeId": { "description": "Node to update (mandatory without browse path)", "type": "string" }, "browsePath": { "description": "An optional path from NodeId instance to\r\nthe actual node.", "type": "array", "items": { "type": "string" } }, "details": { "$ref": "#/definitions/UpdateEventsDetailsModel" }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "UpdateEventsDetailsModelHistoryUpdateRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/UpdateEventsDetailsModelHistoryUpdateRequestModel" } }, "additionalProperties": false }, "UpdateValuesDetailsModel": { "description": "Insert, upsert, or update historic values", "required": [ "values" ], "type": "object", "properties": { "values": { "description": "Values to insert", "type": "array", "items": { "$ref": "#/definitions/HistoricValueModel" } } }, "additionalProperties": false }, "UpdateValuesDetailsModelHistoryUpdateRequestModel": { "description": "Request node history update", "required": [ "details" ], "type": "object", "properties": { "nodeId": { "description": "Node to update (mandatory without browse path)", "type": "string" }, "browsePath": { "description": "An optional path from NodeId instance to\r\nthe actual node.", "type": "array", "items": { "type": "string" } }, "details": { "$ref": "#/definitions/UpdateValuesDetailsModel" }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "UpdateValuesDetailsModelHistoryUpdateRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/UpdateValuesDetailsModelHistoryUpdateRequestModel" } }, "additionalProperties": false }, "UserIdentityModel": { "description": "User identity model", "type": "object", "properties": { "user": { "description": "\r\n\r\n For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.UserName authentication\r\n this is the name of the user.\r\n \r\n\r\n\r\n For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.X509Certificate authentication\r\n this is the subject name of the certificate that has been\r\n configured.\r\n Either Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.User or Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.Thumbprint must be\r\n used to select the certificate in the user certificate store.\r\n \r\n\r\n\r\n Not used for the other authentication types.\r\n ", "type": "string" }, "password": { "description": "\r\n\r\n For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.UserName authentication\r\n this is the password of the user.\r\n \r\n\r\n\r\n For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.X509Certificate authentication\r\n this is the passcode to export the configured certificate's\r\n private key.\r\n \r\n\r\n\r\n Not used for the other authentication types.\r\n ", "type": "string" }, "thumbprint": { "description": "\r\n\r\n For Azure.IIoT.OpcUa.Publisher.Models.CredentialType.X509Certificate authentication\r\n this is the thumbprint of the configured certificate to use.\r\n Either Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.User or Azure.IIoT.OpcUa.Publisher.Models.UserIdentityModel.Thumbprint must be\r\n used to select the certificate in the user certificate store.\r\n \r\n\r\n\r\n Not used for the other authentication types.\r\n ", "type": "string" } }, "additionalProperties": false }, "ValueReadRequestModel": { "description": "Request node value read", "type": "object", "properties": { "nodeId": { "description": "Node to read from (mandatory)", "type": "string" }, "browsePath": { "description": "An optional path from NodeId instance to\r\nan actual node.", "type": "array", "items": { "type": "string" } }, "indexRange": { "description": "Index range to read, e.g. 1:2,0:1 for 2 slices\r\nout of a matrix or 0:1 for the first item in\r\nan array, string or bytestring.\r\nSee 7.22 of part 4: NumericRange.", "type": "string" }, "header": { "$ref": "#/definitions/RequestHeaderModel" }, "maxAge": { "format": "date-span", "description": "Maximum age of the value to be read in milliseconds.\r\nThe age of the value is based on the difference\r\nbetween the ServerTimestamp and the time when\r\nthe Server starts processing the request.\r\nIf not supplied, the Server shall attempt to read\r\na new value from the data source.", "type": "string" }, "timestampsToReturn": { "$ref": "#/definitions/TimestampsToReturn" } }, "additionalProperties": false }, "ValueReadRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/ValueReadRequestModel" } }, "additionalProperties": false }, "ValueReadResponseModel": { "description": "Value read response model", "type": "object", "properties": { "value": { "description": "Value read", "type": "object" }, "dataType": { "description": "Built in data type of the value read.", "type": "string" }, "sourcePicoseconds": { "format": "int32", "description": "Pico seconds part of when value was read at source.", "type": "integer" }, "sourceTimestamp": { "format": "date-time", "description": "Timestamp of when value was read at source.", "type": "string" }, "serverPicoseconds": { "format": "int32", "description": "Pico seconds part of when value was read at server.", "type": "integer" }, "serverTimestamp": { "format": "date-time", "description": "Timestamp of when value was read at server.", "type": "string" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "ValueWriteRequestModel": { "description": "Value write request model", "required": [ "value" ], "type": "object", "properties": { "nodeId": { "description": "Node id to write value to.", "type": "string" }, "browsePath": { "description": "An optional path from NodeId instance to\r\nthe actual node.", "type": "array", "items": { "type": "string" } }, "value": { "description": "Value to write. The system tries to convert\r\nthe value according to the data type value,\r\ne.g. convert comma seperated value strings\r\ninto arrays. (Mandatory)", "type": "object" }, "dataType": { "description": "A built in datatype for the value. This can\r\nbe a data type from browse, or a built in\r\ntype.\r\n(default: best effort)", "type": "string" }, "indexRange": { "description": "Index range to write", "type": "string" }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "ValueWriteRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/ValueWriteRequestModel" } }, "additionalProperties": false }, "ValueWriteResponseModel": { "description": "Value write response model", "type": "object", "properties": { "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "VariableMetadataModel": { "description": "Variable metadata model", "type": "object", "properties": { "dataType": { "$ref": "#/definitions/DataTypeMetadataModel" }, "valueRank": { "$ref": "#/definitions/NodeValueRank" }, "arrayDimensions": { "format": "int64", "description": "Array dimensions of the variable.", "type": "integer", "items": { "format": "int64", "type": "integer" } } }, "additionalProperties": false }, "VariantValueHistoryReadNextResponseModel": { "description": "History read continuation result", "required": [ "history" ], "type": "object", "properties": { "history": { "description": "History as json encoded extension object", "type": "object" }, "continuationToken": { "description": "Continuation token if more results pending.", "type": "string" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "VariantValueHistoryReadRequestModel": { "description": "Request node history read", "required": [ "details" ], "type": "object", "properties": { "nodeId": { "description": "Node to read from (mandatory without browse path)", "type": "string" }, "browsePath": { "description": "An optional path from NodeId instance to\r\nthe actual node.", "type": "array", "items": { "type": "string" } }, "details": { "description": "The HistoryReadDetailsType extension object\r\nencoded in json and containing the tunneled\r\nHistorian reader request.", "type": "object" }, "indexRange": { "description": "Index range to read, e.g. 1:2,0:1 for 2 slices\r\nout of a matrix or 0:1 for the first item in\r\nan array, string or bytestring.\r\nSee 7.22 of part 4: NumericRange.", "type": "string" }, "header": { "$ref": "#/definitions/RequestHeaderModel" }, "timestampsToReturn": { "$ref": "#/definitions/TimestampsToReturn" } }, "additionalProperties": false }, "VariantValueHistoryReadRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/VariantValueHistoryReadRequestModel" } }, "additionalProperties": false }, "VariantValueHistoryReadResponseModel": { "description": "History read results", "required": [ "history" ], "type": "object", "properties": { "history": { "description": "History as json encoded extension object", "type": "object" }, "continuationToken": { "description": "Continuation token if more results pending.", "type": "string" }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "VariantValueHistoryUpdateRequestModel": { "description": "Request node history update", "required": [ "details" ], "type": "object", "properties": { "nodeId": { "description": "Node to update (mandatory without browse path)", "type": "string" }, "browsePath": { "description": "An optional path from NodeId instance to\r\nthe actual node.", "type": "array", "items": { "type": "string" } }, "details": { "description": "The HistoryUpdateDetailsType extension object\r\nencoded as json Variant and containing the tunneled\r\nupdate request for the Historian server. The value\r\nis updated at edge using above node address.", "type": "object" }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "VariantValueHistoryUpdateRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/VariantValueHistoryUpdateRequestModel" } }, "additionalProperties": false }, "WriteRequestModel": { "description": "Request node attribute write", "required": [ "attributes" ], "type": "object", "properties": { "attributes": { "description": "Attributes to update", "type": "array", "items": { "$ref": "#/definitions/AttributeWriteRequestModel" } }, "header": { "$ref": "#/definitions/RequestHeaderModel" } }, "additionalProperties": false }, "WriteRequestModelRequestEnvelope": { "description": "Wraps a request and a connection to bind to a\r\nbody more easily for api that requires a\r\nconnection endpoint", "required": [ "connection" ], "type": "object", "properties": { "connection": { "$ref": "#/definitions/ConnectionModel" }, "request": { "$ref": "#/definitions/WriteRequestModel" } }, "additionalProperties": false }, "WriteResponseModel": { "description": "Result of attribute write", "required": [ "results" ], "type": "object", "properties": { "results": { "description": "All results of attribute writes", "type": "array", "items": { "$ref": "#/definitions/AttributeWriteResponseModel" } }, "errorInfo": { "$ref": "#/definitions/ServiceResultModel" } }, "additionalProperties": false }, "WriterGroupTransport": { "description": "Desired writer group transport", "enum": [ "IoTHub", "Mqtt", "EventHub", "Dapr", "Http", "FileSystem", "Null" ], "type": "string", "x-ms-enum": { "name": "WriterGroupTransport", "modelAsString": false } }, "X509CertificateChainModel": { "description": "Certificate chain", "type": "object", "properties": { "chain": { "description": "Chain", "type": "array", "items": { "$ref": "#/definitions/X509CertificateModel" } }, "status": { "description": "Chain validation status if validated", "enum": [ "NotTimeValid", "Revoked", "NotSignatureValid", "NotValidForUsage", "UntrustedRoot", "RevocationStatusUnknown", "Cyclic", "InvalidExtension", "InvalidPolicyConstraints", "InvalidBasicConstraints", "InvalidNameConstraints", "HasNotSupportedNameConstraint", "HasNotDefinedNameConstraint", "HasNotPermittedNameConstraint", "HasExcludedNameConstraint", "PartialChain", "CtlNotTimeValid", "CtlNotSignatureValid", "CtlNotValidForUsage", "HasWeakSignature", "OfflineRevocation", "NoIssuanceChainPolicy", "ExplicitDistrust", "HasNotSupportedCriticalExtension" ], "type": "string", "items": { "$ref": "#/definitions/X509ChainStatus" }, "x-ms-enum": { "name": "X509ChainStatus", "modelAsString": false } } }, "additionalProperties": false }, "X509CertificateModel": { "description": "Certificate model", "type": "object", "properties": { "subject": { "description": "Subject", "type": "string" }, "thumbprint": { "description": "Thumbprint", "type": "string" }, "serialNumber": { "description": "Serial number", "type": "string" }, "notBeforeUtc": { "format": "date-time", "description": "Not before validity", "type": "string" }, "notAfterUtc": { "format": "date-time", "description": "Not after validity", "type": "string" }, "selfSigned": { "description": "Self signed certificate", "type": "boolean" }, "pfx": { "description": "Certificate as Pkcs12", "type": "array", "items": { "format": "int32", "type": "integer" } }, "hasPrivateKey": { "description": "Contains private key", "type": "boolean" } }, "additionalProperties": false }, "X509ChainStatus": { "description": "Status of x509 chain", "enum": [ "NotTimeValid", "Revoked", "NotSignatureValid", "NotValidForUsage", "UntrustedRoot", "RevocationStatusUnknown", "Cyclic", "InvalidExtension", "InvalidPolicyConstraints", "InvalidBasicConstraints", "InvalidNameConstraints", "HasNotSupportedNameConstraint", "HasNotDefinedNameConstraint", "HasNotPermittedNameConstraint", "HasExcludedNameConstraint", "PartialChain", "CtlNotTimeValid", "CtlNotSignatureValid", "CtlNotValidForUsage", "HasWeakSignature", "OfflineRevocation", "NoIssuanceChainPolicy", "ExplicitDistrust", "HasNotSupportedCriticalExtension" ], "type": "string", "x-ms-enum": { "name": "X509ChainStatus", "modelAsString": false } } }, "tags": [ { "name": "Certificates", "description": "\r\n\r\n This section lists the certificate APi provided by OPC Publisher providing\r\n all public and private key infrastructure (PKI) related API methods.\r\n \r\n\r\n\r\n The method name for all transports other than HTTP (which uses the shown\r\n HTTP methods and resource uris) is the name of the subsection header.\r\n To use the version specific method append \"_V1\" or \"_V2\" to the method\r\n name.\r\n " }, { "name": "Configuration", "description": "\r\n\r\n This section contains the API to configure OPC Publisher.\r\n \r\n\r\n\r\n The method name for all transports other than HTTP (which uses the shown\r\n HTTP methods and resource uris) is the name of the subsection header.\r\n To use the version specific method append \"_V1\" or \"_V2\" to the method\r\n name.\r\n " }, { "name": "Diagnostics", "description": "\r\n\r\n This section lists the diagnostics APi provided by OPC Publisher providing\r\n connection related diagnostics API methods.\r\n \r\n\r\n\r\n The method name for all transports other than HTTP (which uses the shown\r\n HTTP methods and resource uris) is the name of the subsection header.\r\n To use the version specific method append \"_V1\" or \"_V2\" to the method\r\n name.\r\n " }, { "name": "Discovery", "description": "\r\n\r\n OPC UA and network discovery related API.\r\n \r\n\r\n\r\n The method name for all transports other than HTTP (which uses the shown\r\n HTTP methods and resource uris) is the name of the subsection header.\r\n To use the version specific method append \"_V1\" or \"_V2\" to the method\r\n " }, { "name": "FileSystem", "description": "\r\n\r\n This section lists the file transfer API provided by OPC Publisher providing\r\n access to file transfer services to move files in and out of a server\r\n using the File transfer specification.\r\n \r\n\r\n\r\n The method name for all transports other than HTTP (which uses the shown\r\n HTTP methods and resource uris) is the name of the subsection header.\r\n To use the version specific method append \"_V1\" or \"_V2\" to the method\r\n name.\r\n " }, { "name": "General", "description": "\r\n\r\n This section lists the general APi provided by OPC Publisher providing\r\n all connection, endpoint and address space related API methods.\r\n \r\n\r\n\r\n The method name for all transports other than HTTP (which uses the shown\r\n HTTP methods and resource uris) is the name of the subsection header.\r\n To use the version specific method append \"_V1\" or \"_V2\" to the method\r\n name.\r\n " }, { "name": "History", "description": "\r\n\r\n This section lists all OPC UA HDA or Historian related API provided by\r\n OPC Publisher.\r\n \r\n\r\n\r\n The method name for all transports other than HTTP (which uses the shown\r\n HTTP methods and resource uris) is the name of the subsection header.\r\n To use the version specific method append \"_V1\" or \"_V2\" to the method\r\n name.\r\n " }, { "name": "Writer", "description": "\r\n\r\n This section contains the API to configure data set writers and writer\r\n groups inside OPC Publisher. It supersedes the configuration API.\r\n Applications should use one or the other, but not both at the same\r\n time.\r\n \r\n\r\n\r\n The method name for all transports other than HTTP (which uses the shown\r\n HTTP methods and resource uris) is the name of the subsection header.\r\n To use the version specific method append \"_V1\" or \"_V2\" to the method\r\n name.\r\n " } ] }