Policy types for @turbot/servicenow-azure-dns

Azure > DNS > Record Set > ServiceNow

URI
tmod:@turbot/servicenow-azure-dns#/policy/types/recordSetServiceNow
Targets

Azure > DNS > Record Set > ServiceNow > Configuration Item

Synchronize the data for the Azure > DNS > Record Set based on the policies Azure > DNS > Record Set > 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 > DNS > Record Set information within the ServiceNow CMDB.

URI
tmod:@turbot/servicenow-azure-dns#/policy/types/recordSetServiceNowConfigurationItem
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 > DNS > Record Set > 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 > DNS > Record Set 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-dns#/policy/types/recordSetServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: recordSet{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"a_records: {{ $.resource.data.aRecords | dump | safe }}\nid: {{ $.resource.data.id | dump | safe }}\nprovisioning_state: {{ $.resource.data.provisioningState | dump | safe }}\nregion: {{ $.resource.data.location | dump | safe }}\nresource_group: {{ $.resource.metadata.azure.resourceGroupName | dump | safe }}\nsubscription_id: {{ $.resource.metadata.azure.subscriptionId | dump | safe }}\ntags: {{ $.resource.turbot.tags | dump | safe }}\ntarget_resource: {{ $.resource.data.targetResource | dump | safe }}\nttl: {{ $.resource.data.tTL | dump | safe }}\n"
Schema
{
"type": "object"
}

Azure > DNS > Record Set > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-azure-dns#/policy/types/recordSetServiceNowConfigurationItemTableDefinition
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-dns#/policy/types/recordSetServiceNowTableDefinition 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 > DNS > Record Set > ServiceNow > Table

Configure a Table for Azure > DNS > Record Set resource type in ServiceNow via the Azure > DNS > Record Set > ServiceNow > Table > * policies.

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

Azure > DNS > Record Set > 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 > DNS > Record Set data.

URI
tmod:@turbot/servicenow-azure-dns#/policy/types/recordSetServiceNowTableDefinition
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_dns_recordset",
"label": "Azure > DNS > Record Set",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "a_records",
"label": "A Records",
"type": "string",
"size": 1000
},
{
"name": "id",
"label": "ID"
},
{
"name": "provisioning_state",
"label": "Provisioning State"
},
{
"name": "region",
"label": "Region"
},
{
"name": "resource_group",
"label": "Resource Group"
},
{
"name": "subscription_id",
"label": "Subscription ID"
},
{
"name": "tags",
"label": "Tags",
"type": "string",
"size": 1000
},
{
"name": "target_resource",
"label": "Target Resource",
"type": "string",
"size": 1000
},
{
"name": "ttl",
"label": "TTL",
"type": "integer"
}
]
}
}

Azure > DNS > Zone > ServiceNow

URI
tmod:@turbot/servicenow-azure-dns#/policy/types/zoneServiceNow
Targets

Azure > DNS > Zone > ServiceNow > Configuration Item

Synchronize the data for the Azure > DNS > Zone based on the policies Azure > DNS > Zone > 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 > DNS > Zone information within the ServiceNow CMDB.

URI
tmod:@turbot/servicenow-azure-dns#/policy/types/zoneServiceNowConfigurationItem
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 > DNS > Zone > 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 > DNS > Zone 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-dns#/policy/types/zoneServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: zone{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"id: {{ $.resource.data.id | dump | safe }}\nmax_number_of_record_sets: {{ $.resource.data.maxNumberOfRecordSets | dump | safe }}\nmax_number_of_records_per_record_set: {{ $.resource.data.maxNumberOfRecordsPerRecordSet | dump | safe }}\nname_servers: {{ $.resource.data.nameServers | dump | safe }}\nnumber_of_record_sets: {{ $.resource.data.numberOfRecordSets | dump | safe }}\nregion: {{ $.resource.data.location | dump | safe }}\nresource_group: {{ $.resource.metadata.azure.resourceGroupName | dump | safe }}\nsubscription_id: {{ $.resource.metadata.azure.subscriptionId | dump | safe }}\ntags: {{ $.resource.turbot.tags | dump | safe }}\ntype: {{ $.resource.data.type | dump | safe }}\nzone_name: {{ $.resource.data.name | dump | safe }}\nzone_type: {{ $.resource.data.zoneType | dump | safe }}\n"
Schema
{
"type": "object"
}

Azure > DNS > Zone > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-azure-dns#/policy/types/zoneServiceNowConfigurationItemTableDefinition
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-dns#/policy/types/zoneServiceNowTableDefinition 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 > DNS > Zone > ServiceNow > Table

Configure a Table for Azure > DNS > Zone resource type in ServiceNow via the Azure > DNS > Zone > ServiceNow > Table > * policies.

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

Azure > DNS > Zone > 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 > DNS > Zone data.

URI
tmod:@turbot/servicenow-azure-dns#/policy/types/zoneServiceNowTableDefinition
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_dns_zone",
"label": "Azure > DNS > Zone",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "id",
"label": "ID"
},
{
"name": "max_number_of_record_sets",
"label": "Max Number Of Record Sets"
},
{
"name": "max_number_of_records_per_record_set",
"label": "Max Number Of Records Per Record Set"
},
{
"name": "name_servers",
"label": "Name Servers",
"type": "string",
"size": 1000
},
{
"name": "number_of_record_sets",
"label": "Number Of Record Sets"
},
{
"name": "region",
"label": "Region"
},
{
"name": "resource_group",
"label": "Resource Group",
"size": 200
},
{
"name": "subscription_id",
"label": "Subscription ID"
},
{
"name": "tags",
"label": "Tags",
"type": "string",
"size": 1000
},
{
"name": "type",
"label": "Type"
},
{
"name": "zone_name",
"label": "Zone Name"
},
{
"name": "zone_type",
"label": "Zone Type"
}
]
}
}