The following API calls are available for the Azure Injector Module and can be executed within the Ignition Designer Script Console.
APIs
system.cirruslink.azure.createConfig(type, props) → voidParametersString typeThe type of configuration to create with valid options:
Cert FilesIoT HubsIoT EdgeEvent HubsAgentsSetsMap propsDictionary of properties making up the configuration with the following keys and datatypes:Cert FilesName (str)
FileName (str)
FileContents (str)
Description (str)
IoT HubsId (long)
Name (str)
Enabled (str)
Protocol (str) "MQTT"
AzureSetId (long)
CertAuthEnabled (bool)
ConnectionString (str)
MqttHostname (str)
DeviceId (str)
CaCertFileId (long)
ClientCertFileId (long)
ClientPrivateKeyFileId (long)
ClientKeyPassword (str)
HistoryEnabled (bool)
HistoryStoreType (str) "In_Memory"
MessageCapacity (int)
FlushPeriod (long)
KeepAlive (int)
MaxSize (int)
Expiration (long)
ContentType (str) "NONE" or "APPLICATION_JSON"
ContentEncoding (str) "NONE", "UTF_8", "UTF_16", or "UTF_32"
AzureDateTimeFormat (str) "LONG_MS_SINCE_EPOCH" or "STRING_AZURE_COMPAT"
CustomTopicExtension (str)
IoT EdgeId (long)
Name (str)
Enabled (str)
Protocol (str) "MQTT"
AzureSetId (long)
MqttServerUrl (str)
CertAuthEnabled (bool)
ConnectionString (str)
CaCertFileId (long)
ClientCertFileId (long)
ClientPrivateKeyFileId (long)
ClientKeyPassword (str)
HostnameVerification (bool)
MqttHostname (str)
DeviceId (str)
ModuleIdOption (str) "NONE", "ENVIRONMENT_VARIABLE" or "IGNITION_CONFIG"
ModuleId (str)
HistoryEnabled (bool)
HistoryStoreType (str) "In_Memory"
MessageCapacity (int)
FlushPeriod (long)
KeepAlive (int)
MaxSize (int)
Expiration (long)
ContentType (str) "NONE" or "APPLICATION_JSON"
ContentEncoding (str) "NONE", "UTF_8", "UTF_16", or "UTF_32"
AzureDateTimeFormat (str) "LONG_MS_SINCE_EPOCH" or "STRING_AZURE_COMPAT"
CustomTopicExtension (str)
Event HubsId (long)
Name (str)
Enabled (str)
AzureSet(long) (This is the id for the set)
ConnectionString (str)
HistoryEnabled (bool)
HistoryStoreType (str) "In_Memory"
MessageCapacity (int)
FlushPeriod (long)
MaxSize (int)
AzureDateTimeFormat (str) "LONG_MS_SINCE_EPOCH" or "STRING_AZURE_COMPAT"
AgentsId (long)
TagProvider (str)
TagPath (str)
PushTrigger (str) "EVENT_DRIVEN" or "PERIODIC"
TagPacingPeriod (long)
ConvertUdts (bool)
PublishUdtDefinitions (bool)
OptimizeUdts (bool)
AzureSetId (long)
AutoDiscover (bool)
GroupId (str)
EdgeNodeId (str)
DeviceId (str)
FilteredProperties (str)
SetsId (long)
Name (str)
Description (str)
PushPolicy (str) "PUSH_TO_ALL" or "PUSH_TO_ANY"
Return ValueNone
system.cirruslink.azure.readConfig(type) → List ParametersString typeThe type of configuration to read with valid options:
GeneralCert FilesIoT HubsIoT EdgeEvent HubsAgentsSetsReturn ValueA List of Dictionaries of properties making up the configurations with the following keys and datatypes:GeneralId (long)
Enabled (bool)
Cert FilesName (str)
FileName (str)
FileContents (str)
Description (str)
IoT HubsId (long)
Name (str)
Enabled (str)
Protocol (str) "MQTT"
AzureSetId (long)
CertAuthEnabled (bool)
ConnectionString (str)
MqttHostname (str)
DeviceId (str)
CaCertFileId (long)
ClientCertFileId (long)
ClientPrivateKeyFileId (long)
ClientKeyPassword (str)
HistoryEnabled (bool)
HistoryStoreType (str) "In_Memory"
MessageCapacity (int)
FlushPeriod (long)
KeepAlive (int)
MaxSize (int)
Expiration (long)
ContentType (str) "NONE" or "APPLICATION_JSON"
ContentEncoding (str) "NONE", "UTF_8", "UTF_16", or "UTF_32"
AzureDateTimeFormat (str) "LONG_MS_SINCE_EPOCH" or "STRING_AZURE_COMPAT"
CustomTopicExtension (str)
IoT EdgeId (long)
Name (str)
Enabled (str)
Protocol (str) "MQTT"
AzureSetId (long)
MqttServerUrl (str)
CertAuthEnabled (bool)
ConnectionString (str)
CaCertFileId (long)
ClientCertFileId (long)
ClientPrivateKeyFileId (long)
ClientKeyPassword (str)
HostnameVerification (bool)
MqttHostname (str)
DeviceId (str)
ModuleIdOption (str) "NONE", "ENVIRONMENT_VARIABLE" or "IGNITION_CONFIG"
ModuleId (str)
HistoryEnabled (bool)
HistoryStoreType (str) "In_Memory"
MessageCapacity (int)
FlushPeriod (long)
KeepAlive (int)
MaxSize (int)
Expiration (long)
ContentType (str) "NONE" or "APPLICATION_JSON"
ContentEncoding (str) "NONE", "UTF_8", "UTF_16", or "UTF_32"
AzureDateTimeFormat (str) "LONG_MS_SINCE_EPOCH" or "STRING_AZURE_COMPAT"
CustomTopicExtension (str)
Event HubsId (long)
Name (str)
Enabled (str)
ConnectionString (str)
HistoryEnabled (bool)
HistoryStoreType (str) "In_Memory"
MessageCapacity (int)
FlushPeriod (long)
MaxSize (int)
AzureDateTimeFormat (str) "LONG_MS_SINCE_EPOCH" or "STRING_AZURE_COMPAT"
AgentsId (long)
TagProvider (str)
TagPath (str)
PushTrigger (str) "EVENT_DRIVEN" or "PERIODIC"
TagPacingPeriod (long)
ConvertUdts (bool)
PublishUdtDefinitions (bool)
OptimizeUdts (bool)
AzureSetId (long)
AutoDiscover (bool)
GroupId (str)
EdgeNodeId (str)
DeviceId (str)
FilteredProperties (str)
SetsId (long)
Name (str)
Description (str)
PushPolicy (str) "PUSH_TO_ALL" or "PUSH_TO_ANY"
system.cirruslink.azure.updateConfig(type, id, collisionPolicy, props) → voidParametersString typeThe type of configuration to update with valid options:
GeneralCert FilesIoT HubsIoT EdgeEvent HubsAgentsSetsLong idThe ID of the record to updateString collisionPolicy"MergeOverwrite" or "Overwrite""MergeOverwrite" will replace the existing properties in the record ID with only those included in the call"Overwrite" will replace all properties in the record ID with those in the callMap propsDictionary of properties making up the configuration with the following keys and datatypes:GeneralId (long)
Enabled (bool)
Cert FilesName (str)
FileName (str)
FileContents (str)
Description (str)
IoT HubsId (long)
Name (str)
Enabled (str)
Protocol (str) "MQTT"
AzureSetId (long)
CertAuthEnabled (bool)
ConnectionString (str)
MqttHostname (str)
DeviceId (str)
CaCertFileId (long)
ClientCertFileId (long)
ClientPrivateKeyFileId (long)
ClientKeyPassword (str)
HistoryEnabled (bool)
HistoryStoreType (str) "In_Memory"
MessageCapacity (int)
FlushPeriod (long)
KeepAlive (int)
MaxSize (int)
Expiration (long)
ContentType (str) "NONE" or "APPLICATION_JSON"
ContentEncoding (str) "NONE", "UTF_8", "UTF_16", or "UTF_32"
AzureDateTimeFormat (str) "LONG_MS_SINCE_EPOCH" or "STRING_AZURE_COMPAT"
CustomTopicExtension (str)
IoT EdgeId (long)
Name (str)
Enabled (str)
Protocol (str) "MQTT"
AzureSetId (long)
MqttServerUrl (str)
CertAuthEnabled (bool)
ConnectionString (str)
CaCertFileId (long)
ClientCertFileId (long)
ClientPrivateKeyFileId (long)
ClientKeyPassword (str)
HostnameVerification (bool)
MqttHostname (str)
DeviceId (str)
ModuleIdOption (str) "NONE", "ENVIRONMENT_VARIABLE" or "IGNITION_CONFIG"
ModuleId (str)
HistoryEnabled (bool)
HistoryStoreType (str) "In_Memory"
MessageCapacity (int)
FlushPeriod (long)
KeepAlive (int)
MaxSize (int)
Expiration (long)
ContentType (str) "NONE" or "APPLICATION_JSON"
ContentEncoding (str) "NONE", "UTF_8", "UTF_16", or "UTF_32"
AzureDateTimeFormat (str) "LONG_MS_SINCE_EPOCH" or "STRING_AZURE_COMPAT"
CustomTopicExtension (str)
Event HubsId (long)
Name (str)
Enabled (str)
ConnectionString (str)
HistoryEnabled (bool)
HistoryStoreType (str) "In_Memory"
MessageCapacity (int)
FlushPeriod (long)
MaxSize (int)
AzureDateTimeFormat (str) "LONG_MS_SINCE_EPOCH" or "STRING_AZURE_COMPAT"
AgentsId (long)
TagProvider (str)
TagPath (str)
PushTrigger (str) "EVENT_DRIVEN" or "PERIODIC"
TagPacingPeriod (long)
ConvertUdts (bool)
PublishUdtDefinitions (bool)
OptimizeUdts (bool)
AzureSetId (long)
AutoDiscover (bool)
GroupId (str)
EdgeNodeId (str)
DeviceId (str)
FilteredProperties (str)
SetsId (long)
Name (str)
Description (str)
PushPolicy (str) "PUSH_TO_ALL" or "PUSH_TO_ANY"
Return ValueNone
system.cirruslink.azure.deleteConfig(type, id) → voidParametersString typeThe type of configuration to delete with valid options:
Cert FilesIoT HubsIoT EdgeEvent HubsAgentsSetsLong idThe ID of the record to deleteReturn ValueNone| Cirrus Link provides these scripts as examples only, they are not supported or guaranteed to meet any particular functionality. Cirrus Link cannot provide any assistance to modify these scripts to meet a particular need. |
# Cirrus Link provides these scripts as examples only, they are not supported or guaranteed to meet any particular functionality. Cirrus Link cannot provide any assistance to modify these scripts to meet a particular need
# Update Certificates
# Get Id for current certificate
savedCerts = system.cirruslink.azure.readConfig("Cert Files")
for config in savedCerts:
if config["Name"] == "My current cert name":
certId = config["Id"]
# Read New Cert File
deviceCaCertFilePath = "/path/to/your/certs/iot-edge-device-ca-CA.cert.pem"
deviceCaCert = open(deviceCaCertFilePath, 'r').read()
# Update existing cert config using MergeOverwrite
certProps = {}
certProps["FileContents"] = deviceCaCert
system.cirruslink.azure.updateConfig(“Cert Files”, certId, “MergeOverwrite”, certProps)
|