Policy types for @turbot/servicenow-azure-loganalytics

Azure > Log Analytics > Log Analytics Workspace > ServiceNow

URI
tmod:@turbot/servicenow-azure-loganalytics#/policy/types/logAnalyticsWorkspaceServiceNow
Targets

Azure > Log Analytics > Log Analytics Workspace > ServiceNow > Configuration Item

Synchronize the data for the Azure > Log Analytics > Log Analytics Workspace based on the policies Azure > Log Analytics > Log Analytics Workspace > ServiceNow > Configuration Item > *

The Configuration Item control is responsible for automatically synchronizing records in a designated ServiceNow table, maintaining an up-to-date reflection of the Azure > Log Analytics > Log Analytics Workspace information within the ServiceNow CMDB.

URI
tmod:@turbot/servicenow-azure-loganalytics#/policy/types/logAnalyticsWorkspaceServiceNowConfigurationItem
Valid Value
[
"Skip",
"Check: Archived",
"Check: Deleted",
"Check: Sync",
"Enforce: Archived",
"Enforce: Deleted",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
]
Schema
{
"type": "string",
"enum": [
"Skip",
"Check: Archived",
"Check: Deleted",
"Check: Sync",
"Enforce: Archived",
"Enforce: Deleted",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
],
"example": [
"Skip"
],
"default": "Skip"
}

Azure > Log Analytics > Log Analytics Workspace > ServiceNow > Configuration Item > Record

The policy facilitates the accurate representation of cloud resource within the ServiceNow environment, ensuring that critical data is effectively mapped and managed. Attribute of an Azure > Log Analytics > Log Analytics Workspace is systematically mapped to a specific column in a ServiceNow table.

The policy allows enabling organizations to select and map only those attributes that are most relevant to their operational needs. It significantly reduces the manual effort involved in data transfer and minimizes the risk of errors, thereby enhancing the overall efficiency of data management.

URI
tmod:@turbot/servicenow-azure-loganalytics#/policy/types/logAnalyticsWorkspaceServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: logAnalyticsWorkspace{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"customer_id: {{ $.resource.data.customerId | dump | safe }}\ndaily_ingestion_quota: {{ $.resource.data.workspaceCapping.dailyQuotaGb | dump | safe }}\ndata_ingestion_status: {{ $.resource.data.workspaceCapping.dataIngestionStatus | dump | safe }}\nid: {{ $.resource.data.id | dump | safe }}\ningestion_quota_next_reset_time: {{ $.resource.data.workspaceCapping.quotaNextResetTime | dump | safe }}\nlog_analytics_workspace_location: {{ $.resource.data.location | dump | safe }}\nlog_analytics_workspace_name: {{ $.resource.data.name | dump | safe }}\nprovisioning_state: {{ $.resource.data.provisioningState | dump | safe }}\npublic_network_access_for_ingestion: {{ $.resource.data.publicNetworkAccessForIngestion | dump | safe }}\npublic_network_access_for_query: {{ $.resource.data.publicNetworkAccessForQuery | dump | safe }}\nresource_group: {{ $.resource.metadata.azure.resourceGroupName | dump | safe }}\nretention_days: {{ $.resource.data.retentionInDays | dump | safe }}\nsku_name: {{ $.resource.data.sku.name | dump | safe }}\nsubscription_id: {{ $.resource.metadata.azure.subscriptionId | dump | safe }}\ntags: {{ $.resource.turbot.tags | dump | safe }}\n"
Schema
{
"type": "object"
}

Azure > Log Analytics > Log Analytics Workspace > ServiceNow > Configuration Item > Table Definition

This policy specifically allows users to define two key aspects: the name of the ServiceNow table where the Azure > Log Analytics > Log Analytics Workspace data will be stored, and the details of the columns used for archiving purposes.

URI
tmod:@turbot/servicenow-azure-loganalytics#/policy/types/logAnalyticsWorkspaceServiceNowConfigurationItemTableDefinition
Default Template Input
[
"{\n serviceNowInstance: resources(filter: \"resourceTypeId:tmod:@turbot/servicenow#/resource/types/instance level:self limit:1\") {\n items {\n turbot {\n id\n }\n }\n }\n}\n",
"{\n tableDefinition: policyValues(filter: \"policyTypeId:tmod:@turbot/servicenow-azure-loganalytics#/policy/types/logAnalyticsWorkspaceServiceNowTableDefinition resourceId:{{$.serviceNowInstance.items[0].turbot.id}} level:self\") {\n items {\n value\n }\n }\n applicationScope: policyValues(filter: \"policyTypeId:tmod:@turbot/servicenow#/policy/types/serviceNowApplicationScope resourceId:{{$.serviceNowInstance.items[0].turbot.id}} level:self\") {\n items {\n value\n }\n }\n}\n"
]
Default Template
"tableName: "{%- if $.applicationScope.items | length == 0 or $.tableDefinition.items | length == 0 %} {%- else %}{{$.applicationScope.items[0].value}}_{{$.tableDefinition.items[0].value.table.name | lower}}{% endif %}"\n"
Schema
{
"type": "object",
"additionalProperties": false,
"required": [
"tableName"
],
"properties": {
"tableName": {
"type": "string"
},
"archiveColumns": {
"type": "object"
}
}
}

Azure > Log Analytics > Log Analytics Workspace > ServiceNow > Table

Configure a Table for Azure > Log Analytics > Log Analytics Workspace resource type in ServiceNow via the Azure > Log Analytics > Log Analytics Workspace > ServiceNow > Table > * policies.

URI
tmod:@turbot/servicenow-azure-loganalytics#/policy/types/logAnalyticsWorkspaceServiceNowTable
Valid Value
[
"Skip",
"Check: Configured",
"Enforce: Configured"
]
Schema
{
"type": "string",
"enum": [
"Skip",
"Check: Configured",
"Enforce: Configured"
],
"example": [
"Skip"
],
"default": "Skip"
}

Azure > Log Analytics > Log Analytics Workspace > ServiceNow > Table > Definition

The policy enables the definition of ServiceNow table properties, including its name and the base table from which it extends, and details the specific columns required for representing Azure > Log Analytics > Log Analytics Workspace data.

URI
tmod:@turbot/servicenow-azure-loganalytics#/policy/types/logAnalyticsWorkspaceServiceNowTableDefinition
Schema
{
"type": "object",
"additionalProperties": false,
"required": [
"table",
"columns"
],
"properties": {
"table": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"pattern": "^([0-9a-z_])+$"
},
"label": {
"type": "string"
},
"extendsTable": {
"type": "string",
"pattern": "^([0-9a-z_])+$"
}
}
},
"columns": {
"type": "array",
"description": "An array of columns with their mappings to the CMDB.",
"default": [],
"items": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"description": "The name of the column in the table.",
"pattern": "^([0-9a-z_])+$"
},
"label": {
"type": "string",
"description": "The label for the column."
},
"type": {
"description": "The data type of the column.",
"type": "string"
},
"size": {
"type": "integer",
"description": "The length for data type."
}
}
}
}
},
"default": {
"table": {
"name": "guardrails_azure_loganalytics_loganalyticsworkspace",
"label": "Azure > Log Analytics > Log Analytics Workspace",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "customer_id",
"label": "Customer ID"
},
{
"name": "daily_ingestion_quota",
"label": "Daily Ingestion Quota"
},
{
"name": "data_ingestion_status",
"label": "Data Ingestion Status"
},
{
"name": "id",
"label": "ID"
},
{
"name": "ingestion_quota_next_reset_time",
"label": "Ingestion Quota Next Reset Time"
},
{
"name": "log_analytics_workspace_location",
"label": "Location"
},
{
"name": "log_analytics_workspace_name",
"label": "Name"
},
{
"name": "provisioning_state",
"label": "Provisioning State"
},
{
"name": "public_network_access_for_ingestion",
"label": "Public Network Access For Ingestion"
},
{
"name": "public_network_access_for_query",
"label": "Public Network Access For Query"
},
{
"name": "resource_group",
"label": "Resource Group"
},
{
"name": "retention_days",
"label": "Retention Days"
},
{
"name": "sku_name",
"label": "SKU Name"
},
{
"name": "subscription_id",
"label": "Subscription ID"
},
{
"name": "tags",
"label": "Tags",
"type": "string",
"size": 1000
}
]
}
}