Policy types for @turbot/servicenow-kubernetes

Kubernetes > Cluster > ServiceNow

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/clusterServiceNow
Targets

Kubernetes > Cluster > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/clusterServiceNowConfigurationItem
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"
}

Kubernetes > Cluster > 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 Kubernetes > Cluster 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-kubernetes#/policy/types/clusterServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: cluster{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"name: {{ $.resource.data.name | dump | safe }}\nuid: {{ $.resource.data.uid | dump | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > Cluster > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/clusterServiceNowConfigurationItemTableDefinition
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-kubernetes#/policy/types/clusterServiceNowTableDefinition 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"
}
}
}

Kubernetes > Cluster > ServiceNow > Import Set

Synchronize the data for the Kubernetes > Cluster based on the Kubernetes > Cluster > ServiceNow > Import Set > * policies.

The policy ensures that Kubernetes > Cluster data is automatically sent through import sets, which then triggers transformations based on predefined transform maps in the import set table.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/clusterServiceNowImportSet
Valid Value
[
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
]
Schema
{
"type": "string",
"enum": [
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
],
"example": [
"Skip"
],
"default": "Skip"
}

Kubernetes > Cluster > ServiceNow > Import Set > Archive Columns

This policy specifically allows users to define the details of the columns used for archiving purposes.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/clusterServiceNowImportSetArchiveColumns
Schema
{
"type": "object",
"default": {}
}

Kubernetes > Cluster > ServiceNow > Import Set > 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 Kubernetes > Cluster 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-kubernetes#/policy/types/clusterServiceNowImportSetRecord
Default Template Input
"{\n resource: cluster{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n type {\n uri\n }\n }\n}\n"
Default Template
"name: {{ $.resource.data.name | dump | safe }}\nuid: {{ $.resource.data.uid | dump | safe }}\nresource_type_uri: {{ $.resource.type.uri | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > Cluster > ServiceNow > Import Set > Table Name

This policy specifically allows users to define the name of the ServiceNow staging table where the Kubernetes > Cluster import set record will be sent.

It defaults to ServiceNow > Import Set > Table Name [Default] policy.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/clusterServiceNowImportSetTableName
Default Template Input
"{\n defaultTableName: policy(uri:\"tmod:@turbot/servicenow#/policy/types/serviceNowImportSetTableNameDefault\")\n}\n"
Default Template
"{{ $.defaultTableName }}\n"
Schema
{
"type": "string"
}

Kubernetes > Cluster > ServiceNow > Table

Configure a Table for Kubernetes > Cluster resource type in ServiceNow via the Kubernetes > Cluster > ServiceNow > Table > * policies.

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

Kubernetes > Cluster > 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 Kubernetes > Cluster data.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/clusterServiceNowTableDefinition
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_kubernetes_cluster",
"label": "Kubernetes > Cluster",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "name",
"label": "Name",
"type": "string",
"size": 255
},
{
"name": "uid",
"label": "UID",
"size": 50
}
]
}
}

Kubernetes > ConfigMap > ServiceNow

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/configMapServiceNow
Targets

Kubernetes > ConfigMap > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/configMapServiceNowConfigurationItem
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"
}

Kubernetes > ConfigMap > 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 Kubernetes > ConfigMap 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-kubernetes#/policy/types/configMapServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: configMap{\n creation_timestamp\n data\n labels\n name\n namespace\n uid\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"cluster_name: {{ $.resource.metadata.kubernetes.clusterName | dump | safe }}\ncluster_uid: {{ $.resource.metadata.kubernetes.clusterUid | dump | safe }}\ncreation_timestamp: {{ $.resource.creation_timestamp | dump | safe }}\ndata: {{ $.resource.data | dump | safe }}\nlabels: {{ $.resource.labels | dump | safe }}\nname: {{ $.resource.name | dump | safe }}\nnamespace: {{ $.resource.namespace | dump | safe }}\nuid: {{ $.resource.uid | dump | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > ConfigMap > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/configMapServiceNowConfigurationItemTableDefinition
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-kubernetes#/policy/types/configMapServiceNowTableDefinition 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"
}
}
}

Kubernetes > ConfigMap > ServiceNow > Import Set

Synchronize the data for the Kubernetes > ConfigMap based on the Kubernetes > ConfigMap > ServiceNow > Import Set > * policies.

The policy ensures that Kubernetes > ConfigMap data is automatically sent through import sets, which then triggers transformations based on predefined transform maps in the import set table.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/configMapServiceNowImportSet
Valid Value
[
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
]
Schema
{
"type": "string",
"enum": [
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
],
"example": [
"Skip"
],
"default": "Skip"
}

Kubernetes > ConfigMap > ServiceNow > Import Set > Archive Columns

This policy specifically allows users to define the details of the columns used for archiving purposes.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/configMapServiceNowImportSetArchiveColumns
Schema
{
"type": "object",
"default": {}
}

Kubernetes > ConfigMap > ServiceNow > Import Set > 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 Kubernetes > ConfigMap 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-kubernetes#/policy/types/configMapServiceNowImportSetRecord
Default Template Input
"{\n resource: configMap{\n creation_timestamp\n data\n labels\n name\n namespace\n uid\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n type {\n uri\n }\n }\n}\n"
Default Template
"cluster_name: {{ $.resource.metadata.kubernetes.clusterName | dump | safe }}\ncluster_uid: {{ $.resource.metadata.kubernetes.clusterUid | dump | safe }}\ncreation_timestamp: {{ $.resource.creation_timestamp | dump | safe }}\ndata: {{ $.resource.data | dump | safe }}\nlabels: {{ $.resource.labels | dump | safe }}\nname: {{ $.resource.name | dump | safe }}\nnamespace: {{ $.resource.namespace | dump | safe }}\nuid: {{ $.resource.uid | dump | safe }}\nresource_type_uri: {{ $.resource.type.uri | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > ConfigMap > ServiceNow > Import Set > Table Name

This policy specifically allows users to define the name of the ServiceNow staging table where the Kubernetes > ConfigMap import set record will be sent.

It defaults to ServiceNow > Import Set > Table Name [Default] policy.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/configMapServiceNowImportSetTableName
Default Template Input
"{\n defaultTableName: policy(uri:\"tmod:@turbot/servicenow#/policy/types/serviceNowImportSetTableNameDefault\")\n}\n"
Default Template
"{{ $.defaultTableName }}\n"
Schema
{
"type": "string"
}

Kubernetes > ConfigMap > ServiceNow > Table

Configure a Table for Kubernetes > ConfigMap resource type in ServiceNow via the Kubernetes > ConfigMap > ServiceNow > Table > * policies.

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

Kubernetes > ConfigMap > 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 Kubernetes > ConfigMap data.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/configMapServiceNowTableDefinition
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_kubernetes_configmap",
"label": "Kubernetes > ConfigMap",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "cluster_name",
"label": "Cluster Name",
"type": "string"
},
{
"name": "cluster_uid",
"label": "Cluster UID",
"type": "string",
"size": 50
},
{
"name": "creation_timestamp",
"label": "Creation Timestamp",
"size": 50
},
{
"name": "data",
"label": "Data",
"type": "string",
"size": 10000
},
{
"name": "labels",
"label": "Labels",
"type": "string",
"size": 10000
},
{
"name": "name",
"label": "Name",
"type": "string",
"size": 255
},
{
"name": "namespace",
"label": "Namespace"
},
{
"name": "uid",
"label": "UID",
"size": 50
}
]
}
}

Kubernetes > Deployment > ServiceNow

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/deploymentServiceNow
Targets

Kubernetes > Deployment > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/deploymentServiceNowConfigurationItem
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"
}

Kubernetes > Deployment > 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 Kubernetes > Deployment 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-kubernetes#/policy/types/deploymentServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: deployment{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"annotations: {{ $.resource.data.annotations | dump | safe }}\navailable_replicas: {{ $.resource.data.available_replicas | dump | safe }}\ncluster_name: {{ $.resource.metadata.kubernetes.clusterName | dump | safe }}\ncluster_uid: {{ $.resource.metadata.kubernetes.clusterUid | dump | safe }}\ncreation_timestamp: {{ $.resource.data.creation_timestamp | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nname: {{ $.resource.data.name | dump | safe }}\nnamespace: {{ $.resource.data.namespace | dump | safe }}\npaused: {{ $.resource.data.paused | dump | safe }}\nready_replicas: {{ $.resource.data.ready_replicas | dump | safe }}\nreplicas: {{ $.resource.data.replicas | dump | safe }}\nselector: {{ $.resource.data.selector | dump | safe }}\nselector_query: {{ $.resource.data.selector_query | dump | safe }}\nstatus_replicas: {{ $.resource.data.status_replicas | dump | safe }}\nstrategy: {{ $.resource.data.strategy | dump | safe }}\nstrategy_type: {{ $.resource.data.strategy.type | dump | safe }}\ntemplate: {{ $.resource.data.template | dump | safe }}\nuid: {{ $.resource.data.uid | dump | safe }}\nunavailable_replicas: {{ $.resource.data.unavailable_replicas | dump | safe }}\nupdated_replicas: {{ $.resource.data.updated_replicas | dump | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > Deployment > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/deploymentServiceNowConfigurationItemTableDefinition
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-kubernetes#/policy/types/deploymentServiceNowTableDefinition 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"
}
}
}

Kubernetes > Deployment > ServiceNow > Import Set

Synchronize the data for the Kubernetes > Deployment based on the Kubernetes > Deployment > ServiceNow > Import Set > * policies.

The policy ensures that Kubernetes > Deployment data is automatically sent through import sets, which then triggers transformations based on predefined transform maps in the import set table.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/deploymentServiceNowImportSet
Valid Value
[
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
]
Schema
{
"type": "string",
"enum": [
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
],
"example": [
"Skip"
],
"default": "Skip"
}

Kubernetes > Deployment > ServiceNow > Import Set > Archive Columns

This policy specifically allows users to define the details of the columns used for archiving purposes.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/deploymentServiceNowImportSetArchiveColumns
Schema
{
"type": "object",
"default": {}
}

Kubernetes > Deployment > ServiceNow > Import Set > 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 Kubernetes > Deployment 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-kubernetes#/policy/types/deploymentServiceNowImportSetRecord
Default Template Input
"{\n resource: deployment{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n type {\n uri\n }\n }\n}\n"
Default Template
"annotations: {{ $.resource.data.annotations | dump | safe }}\navailable_replicas: {{ $.resource.data.available_replicas | dump | safe }}\ncluster_name: {{ $.resource.metadata.kubernetes.clusterName | dump | safe }}\ncluster_uid: {{ $.resource.metadata.kubernetes.clusterUid | dump | safe }}\ncreation_timestamp: {{ $.resource.data.creation_timestamp | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nname: {{ $.resource.data.name | dump | safe }}\nnamespace: {{ $.resource.data.namespace | dump | safe }}\npaused: {{ $.resource.data.paused | dump | safe }}\nready_replicas: {{ $.resource.data.ready_replicas | dump | safe }}\nreplicas: {{ $.resource.data.replicas | dump | safe }}\nselector: {{ $.resource.data.selector | dump | safe }}\nselector_query: {{ $.resource.data.selector_query | dump | safe }}\nstatus_replicas: {{ $.resource.data.status_replicas | dump | safe }}\nstrategy: {{ $.resource.data.strategy | dump | safe }}\nstrategy_type: {{ $.resource.data.strategy.type | dump | safe }}\ntemplate: {{ $.resource.data.template | dump | safe }}\nuid: {{ $.resource.data.uid | dump | safe }}\nunavailable_replicas: {{ $.resource.data.unavailable_replicas | dump | safe }}\nupdated_replicas: {{ $.resource.data.updated_replicas | dump | safe }}\nresource_type_uri: {{ $.resource.type.uri | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > Deployment > ServiceNow > Import Set > Table Name

This policy specifically allows users to define the name of the ServiceNow staging table where the Kubernetes > Deployment import set record will be sent.

It defaults to ServiceNow > Import Set > Table Name [Default] policy.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/deploymentServiceNowImportSetTableName
Default Template Input
"{\n defaultTableName: policy(uri:\"tmod:@turbot/servicenow#/policy/types/serviceNowImportSetTableNameDefault\")\n}\n"
Default Template
"{{ $.defaultTableName }}\n"
Schema
{
"type": "string"
}

Kubernetes > Deployment > ServiceNow > Table

Configure a Table for Kubernetes > Deployment resource type in ServiceNow via the Kubernetes > Deployment > ServiceNow > Table > * policies.

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

Kubernetes > Deployment > 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 Kubernetes > Deployment data.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/deploymentServiceNowTableDefinition
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_kubernetes_deployment",
"label": "Kubernetes > Deployment",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "annotations",
"label": "Annotations",
"type": "string",
"size": 1000
},
{
"name": "available_replicas",
"label": "Available Replicas",
"type": "integer"
},
{
"name": "cluster_name",
"label": "Cluster Name",
"type": "string"
},
{
"name": "cluster_uid",
"label": "Cluster UID",
"type": "string",
"size": 50
},
{
"name": "creation_timestamp",
"label": "Creation Timestamp",
"size": 50
},
{
"name": "labels",
"label": "Labels",
"type": "string",
"size": 10000
},
{
"name": "name",
"label": "Name",
"type": "string",
"size": 255
},
{
"name": "namespace",
"label": "Namespace"
},
{
"name": "paused",
"label": "Paused",
"type": "boolean"
},
{
"name": "ready_replicas",
"label": "Ready Replicas",
"type": "integer"
},
{
"name": "replicas",
"label": "Replicas",
"type": "integer"
},
{
"name": "selector",
"label": "Selector",
"type": "string",
"size": 1000
},
{
"name": "selector_query",
"label": "Selector Query"
},
{
"name": "status_replicas",
"label": "Status Replicas",
"type": "integer"
},
{
"name": "strategy",
"label": "Strategy",
"type": "string",
"size": 1000
},
{
"name": "strategy_type",
"label": "Strategy Type"
},
{
"name": "template",
"label": "Template",
"type": "string",
"size": 10000
},
{
"name": "uid",
"label": "UID",
"size": 50
},
{
"name": "unavailable_replicas",
"label": "Unavailable Replicas",
"type": "integer"
},
{
"name": "updated_replicas",
"label": "Updated Replicas",
"type": "integer"
}
]
}
}

Kubernetes > Namespace > ServiceNow

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/namespaceServiceNow
Targets

Kubernetes > Namespace > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/namespaceServiceNowConfigurationItem
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"
}

Kubernetes > Namespace > 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 Kubernetes > Namespace 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-kubernetes#/policy/types/namespaceServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: namespace{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"cluster_name: {{ $.resource.metadata.kubernetes.clusterName | dump | safe }}\ncluster_uid: {{ $.resource.metadata.kubernetes.clusterUid | dump | safe }}\ncreation_timestamp: {{ $.resource.data.creation_timestamp | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nname: {{ $.resource.data.name | dump | safe }}\nphase: {{ $.resource.data.phase | dump | safe }}\nspec_finalizers: {{ $.resource.data.spec_finalizers | dump | safe }}\nuid: {{ $.resource.data.uid | dump | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > Namespace > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/namespaceServiceNowConfigurationItemTableDefinition
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-kubernetes#/policy/types/namespaceServiceNowTableDefinition 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"
}
}
}

Kubernetes > Namespace > ServiceNow > Import Set

Synchronize the data for the Kubernetes > Namespace based on the Kubernetes > Namespace > ServiceNow > Import Set > * policies.

The policy ensures that Kubernetes > Namespace data is automatically sent through import sets, which then triggers transformations based on predefined transform maps in the import set table.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/namespaceServiceNowImportSet
Valid Value
[
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
]
Schema
{
"type": "string",
"enum": [
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
],
"example": [
"Skip"
],
"default": "Skip"
}

Kubernetes > Namespace > ServiceNow > Import Set > Archive Columns

This policy specifically allows users to define the details of the columns used for archiving purposes.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/namespaceServiceNowImportSetArchiveColumns
Schema
{
"type": "object",
"default": {}
}

Kubernetes > Namespace > ServiceNow > Import Set > 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 Kubernetes > Namespace 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-kubernetes#/policy/types/namespaceServiceNowImportSetRecord
Default Template Input
"{\n resource: namespace{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n type {\n uri\n }\n }\n}\n"
Default Template
"cluster_name: {{ $.resource.metadata.kubernetes.clusterName | dump | safe }}\ncluster_uid: {{ $.resource.metadata.kubernetes.clusterUid | dump | safe }}\ncreation_timestamp: {{ $.resource.data.creation_timestamp | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nname: {{ $.resource.data.name | dump | safe }}\nphase: {{ $.resource.data.phase | dump | safe }}\nspec_finalizers: {{ $.resource.data.spec_finalizers | dump | safe }}\nuid: {{ $.resource.data.uid | dump | safe }}\nresource_type_uri: {{ $.resource.type.uri | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > Namespace > ServiceNow > Import Set > Table Name

This policy specifically allows users to define the name of the ServiceNow staging table where the Kubernetes > Namespace import set record will be sent.

It defaults to ServiceNow > Import Set > Table Name [Default] policy.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/namespaceServiceNowImportSetTableName
Default Template Input
"{\n defaultTableName: policy(uri:\"tmod:@turbot/servicenow#/policy/types/serviceNowImportSetTableNameDefault\")\n}\n"
Default Template
"{{ $.defaultTableName }}\n"
Schema
{
"type": "string"
}

Kubernetes > Namespace > ServiceNow > Table

Configure a Table for Kubernetes > Namespace resource type in ServiceNow via the Kubernetes > Namespace > ServiceNow > Table > * policies.

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

Kubernetes > Namespace > 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 Kubernetes > Namespace data.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/namespaceServiceNowTableDefinition
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_kubernetes_namespace",
"label": "Kubernetes > Namespace",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "cluster_name",
"label": "Cluster Name",
"type": "string"
},
{
"name": "cluster_uid",
"label": "Cluster UID",
"type": "string",
"size": 50
},
{
"name": "creation_timestamp",
"label": "Creation Timestamp",
"size": 50
},
{
"name": "labels",
"label": "Labels",
"type": "string",
"size": 10000
},
{
"name": "name",
"label": "Name",
"type": "string",
"size": 255
},
{
"name": "phase",
"label": "Phase"
},
{
"name": "spec_finalizers",
"label": "Spec Finalizers",
"type": "string",
"size": 1000
},
{
"name": "uid",
"label": "UID",
"size": 50
}
]
}
}

Kubernetes > Node > ServiceNow

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/nodeServiceNow
Targets

Kubernetes > Node > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/nodeServiceNowConfigurationItem
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"
}

Kubernetes > Node > 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 Kubernetes > Node 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-kubernetes#/policy/types/nodeServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: node{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"allocatable_cpu: {{ $.resource.data.allocatable.cpu | dump | safe }}\nallocatable_memory: {{ $.resource.data.allocatable.memory | dump | safe }}\nallocatable_pods: {{ $.resource.data.allocatable.pods | dump | safe }}\nannotations: {{ $.resource.data.annotations | dump | safe }}\narchitecture: {{ $.resource.data.node_info.architecture | dump | safe }}\nboot_id: {{ $.resource.data.node_info.bootID | dump | safe }}\ncluster_name: {{ $.resource.metadata.kubernetes.clusterName | dump | safe }}\ncluster_uid: {{ $.resource.metadata.kubernetes.clusterUid | dump | safe }}\ncontainer_runtime_version: {{ $.resource.data.node_info.containerRuntimeVersion | dump | safe }}\ncreation_timestamp: {{ $.resource.data.creation_timestamp | dump | safe }}\ndaemon_endpoints: {{ $.resource.data.daemon_endpoints | dump | safe }}\nkernel_version: {{ $.resource.data.node_info.kernelVersion | dump | safe }}\nkube_proxy_version: {{ $.resource.data.node_info.kubeProxyVersion | dump | safe }}\nkubelet_version: {{ $.resource.data.node_info.kubeletVersion | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nmachine_id: {{ $.resource.data.node_info.machineID | dump | safe }}\nname: {{ $.resource.data.name | dump | safe }}\noperating_system: {{ $.resource.data.node_info.operatingSystem | dump | safe }}\nos_image: {{ $.resource.data.node_info.osImage | dump | safe }}\nprovider_id: {{ $.resource.data.provider_id | dump | safe }}\nsystem_uuid: {{ $.resource.data.node_info.systemUUID | dump | safe }}\nuid: {{ $.resource.data.uid | dump | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > Node > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/nodeServiceNowConfigurationItemTableDefinition
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-kubernetes#/policy/types/nodeServiceNowTableDefinition 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"
}
}
}

Kubernetes > Node > ServiceNow > Import Set

Synchronize the data for the Kubernetes > Node based on the Kubernetes > Node > ServiceNow > Import Set > * policies.

The policy ensures that Kubernetes > Node data is automatically sent through import sets, which then triggers transformations based on predefined transform maps in the import set table.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/nodeServiceNowImportSet
Valid Value
[
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
]
Schema
{
"type": "string",
"enum": [
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
],
"example": [
"Skip"
],
"default": "Skip"
}

Kubernetes > Node > ServiceNow > Import Set > Archive Columns

This policy specifically allows users to define the details of the columns used for archiving purposes.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/nodeServiceNowImportSetArchiveColumns
Schema
{
"type": "object",
"default": {}
}

Kubernetes > Node > ServiceNow > Import Set > 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 Kubernetes > Node 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-kubernetes#/policy/types/nodeServiceNowImportSetRecord
Default Template Input
"{\n resource: node{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n type {\n uri\n }\n }\n}\n"
Default Template
"allocatable_cpu: {{ $.resource.data.allocatable.cpu | dump | safe }}\nallocatable_memory: {{ $.resource.data.allocatable.memory | dump | safe }}\nallocatable_pods: {{ $.resource.data.allocatable.pods | dump | safe }}\nannotations: {{ $.resource.data.annotations | dump | safe }}\narchitecture: {{ $.resource.data.node_info.architecture | dump | safe }}\nboot_id: {{ $.resource.data.node_info.bootID | dump | safe }}\ncluster_name: {{ $.resource.metadata.kubernetes.clusterName | dump | safe }}\ncluster_uid: {{ $.resource.metadata.kubernetes.clusterUid | dump | safe }}\ncontainer_runtime_version: {{ $.resource.data.node_info.containerRuntimeVersion | dump | safe }}\ncreation_timestamp: {{ $.resource.data.creation_timestamp | dump | safe }}\ndaemon_endpoints: {{ $.resource.data.daemon_endpoints | dump | safe }}\nkernel_version: {{ $.resource.data.node_info.kernelVersion | dump | safe }}\nkube_proxy_version: {{ $.resource.data.node_info.kubeProxyVersion | dump | safe }}\nkubelet_version: {{ $.resource.data.node_info.kubeletVersion | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nmachine_id: {{ $.resource.data.node_info.machineID | dump | safe }}\nname: {{ $.resource.data.name | dump | safe }}\noperating_system: {{ $.resource.data.node_info.operatingSystem | dump | safe }}\nos_image: {{ $.resource.data.node_info.osImage | dump | safe }}\nprovider_id: {{ $.resource.data.provider_id | dump | safe }}\nsystem_uuid: {{ $.resource.data.node_info.systemUUID | dump | safe }}\nuid: {{ $.resource.data.uid | dump | safe }}\nresource_type_uri: {{ $.resource.type.uri | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > Node > ServiceNow > Import Set > Table Name

This policy specifically allows users to define the name of the ServiceNow staging table where the Kubernetes > Node import set record will be sent.

It defaults to ServiceNow > Import Set > Table Name [Default] policy.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/nodeServiceNowImportSetTableName
Default Template Input
"{\n defaultTableName: policy(uri:\"tmod:@turbot/servicenow#/policy/types/serviceNowImportSetTableNameDefault\")\n}\n"
Default Template
"{{ $.defaultTableName }}\n"
Schema
{
"type": "string"
}

Kubernetes > Node > ServiceNow > Table

Configure a Table for Kubernetes > Node resource type in ServiceNow via the Kubernetes > Node > ServiceNow > Table > * policies.

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

Kubernetes > Node > 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 Kubernetes > Node data.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/nodeServiceNowTableDefinition
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_kubernetes_node",
"label": "Kubernetes > Node",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "allocatable_cpu",
"label": "Allocatable CPU"
},
{
"name": "allocatable_memory",
"label": "Allocatable Memory"
},
{
"name": "allocatable_pods",
"label": "Allocatable Pods"
},
{
"name": "annotations",
"label": "Annotations",
"type": "string",
"size": 10000
},
{
"name": "architecture",
"label": "Architecture"
},
{
"name": "boot_id",
"label": "Boot ID"
},
{
"name": "cluster_name",
"label": "Cluster Name",
"type": "string"
},
{
"name": "cluster_uid",
"label": "Cluster UID",
"type": "string",
"size": 50
},
{
"name": "container_runtime_version",
"label": "Container Runtime Version"
},
{
"name": "creation_timestamp",
"label": "Creation Timestamp",
"size": 50
},
{
"name": "daemon_endpoints",
"label": "Daemon Endpoints",
"type": "string",
"size": 1000
},
{
"name": "kernel_version",
"label": "Kernel Version"
},
{
"name": "kube_proxy_version",
"label": "Kube Proxy Version"
},
{
"name": "kubelet_version",
"label": "Kubelet Version"
},
{
"name": "labels",
"label": "Labels",
"type": "string",
"size": 10000
},
{
"name": "machine_id",
"label": "Machine ID"
},
{
"name": "name",
"label": "Name",
"type": "string",
"size": 255
},
{
"name": "operating_system",
"label": "Operating System"
},
{
"name": "os_image",
"label": "OS Image"
},
{
"name": "provider_id",
"label": "Provider ID"
},
{
"name": "system_uuid",
"label": "System UUID"
},
{
"name": "uid",
"label": "UID",
"size": 50
}
]
}
}

Kubernetes > Pod > ServiceNow

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/podServiceNow
Targets

Kubernetes > Pod > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/podServiceNowConfigurationItem
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"
}

Kubernetes > Pod > 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 Kubernetes > Pod 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-kubernetes#/policy/types/podServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: pod{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"cluster_name: {{ $.resource.metadata.kubernetes.clusterName | dump | safe }}\ncluster_uid: {{ $.resource.metadata.kubernetes.clusterUid | dump | safe }}\ncontainers: {{ $.resource.data.containers | dump | safe }}\ncreation_timestamp: {{ $.resource.data.creation_timestamp | dump | safe }}\ndns_policy: {{ $.resource.data.dns_policy | dump | safe }}\ngenerate_name: {{ $.resource.data.generate_name | dump | safe }}\nhost_ip: {{ $.resource.data.host_ip | dump | safe }}\nhost_ipc: {{ $.resource.data.host_ipc | dump | safe }}\nhost_network: {{ $.resource.data.host_network | dump | safe }}\nhost_pid: {{ $.resource.data.host_pid | dump | safe }}\nhostname: {{ $.resource.data.hostname | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nname: {{ $.resource.data.name | dump | safe }}\nnamespace: {{ $.resource.data.namespace | dump | safe }}\nnode_name: {{ $.resource.data.node_name | dump | safe }}\nowner_references: {{ $.resource.data.owner_references | dump | safe }}\nphase: {{ $.resource.data.phase | dump | safe }}\npod_ips: {{ $.resource.data.pod_ips | dump | safe }}\npreemption_policy: {{ $.resource.data.preemption_policy | dump | safe }}\nqos_class: {{ $.resource.data.qos_class | dump | safe }}\nrestart_policy: {{ $.resource.data.restart_policy | dump | safe }}\nscheduler_name: {{ $.resource.data.scheduler_name | dump | safe }}\nservice_account_name: {{ $.resource.data.service_account_name | dump | safe }}\nstart_time: {{ $.resource.data.start_time | dump | safe }}\ntermination_grace_period_seconds: {{ $.resource.data.termination_grace_period_seconds | dump | safe }}\ntolerations: {{ $.resource.data.tolerations | dump | safe }}\nuid: {{ $.resource.data.uid | dump | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > Pod > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/podServiceNowConfigurationItemTableDefinition
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-kubernetes#/policy/types/podServiceNowTableDefinition 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"
}
}
}

Kubernetes > Pod > ServiceNow > Import Set

Synchronize the data for the Kubernetes > Pod based on the Kubernetes > Pod > ServiceNow > Import Set > * policies.

The policy ensures that Kubernetes > Pod data is automatically sent through import sets, which then triggers transformations based on predefined transform maps in the import set table.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/podServiceNowImportSet
Valid Value
[
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
]
Schema
{
"type": "string",
"enum": [
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
],
"example": [
"Skip"
],
"default": "Skip"
}

Kubernetes > Pod > ServiceNow > Import Set > Archive Columns

This policy specifically allows users to define the details of the columns used for archiving purposes.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/podServiceNowImportSetArchiveColumns
Schema
{
"type": "object",
"default": {}
}

Kubernetes > Pod > ServiceNow > Import Set > 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 Kubernetes > Pod 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-kubernetes#/policy/types/podServiceNowImportSetRecord
Default Template Input
"{\n resource: pod{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n type {\n uri\n }\n }\n}\n"
Default Template
"cluster_name: {{ $.resource.metadata.kubernetes.clusterName | dump | safe }}\ncluster_uid: {{ $.resource.metadata.kubernetes.clusterUid | dump | safe }}\ncontainers: {{ $.resource.data.containers | dump | safe }}\ncreation_timestamp: {{ $.resource.data.creation_timestamp | dump | safe }}\ndns_policy: {{ $.resource.data.dns_policy | dump | safe }}\ngenerate_name: {{ $.resource.data.generate_name | dump | safe }}\nhost_ip: {{ $.resource.data.host_ip | dump | safe }}\nhost_ipc: {{ $.resource.data.host_ipc | dump | safe }}\nhost_network: {{ $.resource.data.host_network | dump | safe }}\nhost_pid: {{ $.resource.data.host_pid | dump | safe }}\nhostname: {{ $.resource.data.hostname | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nname: {{ $.resource.data.name | dump | safe }}\nnamespace: {{ $.resource.data.namespace | dump | safe }}\nnode_name: {{ $.resource.data.node_name | dump | safe }}\nowner_references: {{ $.resource.data.owner_references | dump | safe }}\nphase: {{ $.resource.data.phase | dump | safe }}\npod_ips: {{ $.resource.data.pod_ips | dump | safe }}\npreemption_policy: {{ $.resource.data.preemption_policy | dump | safe }}\nqos_class: {{ $.resource.data.qos_class | dump | safe }}\nrestart_policy: {{ $.resource.data.restart_policy | dump | safe }}\nscheduler_name: {{ $.resource.data.scheduler_name | dump | safe }}\nservice_account_name: {{ $.resource.data.service_account_name | dump | safe }}\nstart_time: {{ $.resource.data.start_time | dump | safe }}\ntermination_grace_period_seconds: {{ $.resource.data.termination_grace_period_seconds | dump | safe }}\ntolerations: {{ $.resource.data.tolerations | dump | safe }}\nuid: {{ $.resource.data.uid | dump | safe }}\nresource_type_uri: {{ $.resource.type.uri | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > Pod > ServiceNow > Import Set > Table Name

This policy specifically allows users to define the name of the ServiceNow staging table where the Kubernetes > Pod import set record will be sent.

It defaults to ServiceNow > Import Set > Table Name [Default] policy.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/podServiceNowImportSetTableName
Default Template Input
"{\n defaultTableName: policy(uri:\"tmod:@turbot/servicenow#/policy/types/serviceNowImportSetTableNameDefault\")\n}\n"
Default Template
"{{ $.defaultTableName }}\n"
Schema
{
"type": "string"
}

Kubernetes > Pod > ServiceNow > Table

Configure a Table for Kubernetes > Pod resource type in ServiceNow via the Kubernetes > Pod > ServiceNow > Table > * policies.

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

Kubernetes > Pod > 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 Kubernetes > Pod data.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/podServiceNowTableDefinition
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_kubernetes_pod",
"label": "Kubernetes > Pod",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "cluster_name",
"label": "Cluster Name",
"type": "string"
},
{
"name": "cluster_uid",
"label": "Cluster UID",
"type": "string",
"size": 50
},
{
"name": "containers",
"label": "Containers",
"size": 50000
},
{
"name": "creation_timestamp",
"label": "Creation Timestamp",
"size": 50
},
{
"name": "dns_policy",
"label": "DNS Policy"
},
{
"name": "generate_name",
"label": "Generate Name"
},
{
"name": "host_ip",
"label": "Host IP"
},
{
"name": "host_ipc",
"label": "Host IPC",
"type": "boolean"
},
{
"name": "host_network",
"label": "Host Network",
"type": "boolean"
},
{
"name": "host_pid",
"label": "Host PID",
"type": "boolean"
},
{
"name": "hostname",
"label": "HostName"
},
{
"name": "labels",
"label": "Labels",
"type": "string",
"size": 10000
},
{
"name": "name",
"label": "Name",
"type": "string",
"size": 255
},
{
"name": "namespace",
"label": "Namespace"
},
{
"name": "node_name",
"label": "Node Name"
},
{
"name": "owner_references",
"label": "Owner References",
"type": "string",
"size": 10000
},
{
"name": "phase",
"label": "Phase"
},
{
"name": "pod_ips",
"label": "Pod IPs",
"type": "string",
"size": 1000
},
{
"name": "preemption_policy",
"label": "Preemption Policy"
},
{
"name": "qos_class",
"label": "QOS Class"
},
{
"name": "restart_policy",
"label": "Restart Policy"
},
{
"name": "scheduler_name",
"label": "Scheduler Name"
},
{
"name": "service_account_name",
"label": "Service Account Name"
},
{
"name": "start_time",
"label": "Start Time",
"size": 50
},
{
"name": "termination_grace_period_seconds",
"label": "Termination Grace Period",
"type": "integer"
},
{
"name": "tolerations",
"label": "Tolerations",
"type": "string",
"size": 10000
},
{
"name": "uid",
"label": "UID",
"size": 50
}
]
}
}

Kubernetes > ReplicaSet > ServiceNow

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/replicaSetServiceNow
Targets

Kubernetes > ReplicaSet > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/replicaSetServiceNowConfigurationItem
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"
}

Kubernetes > ReplicaSet > 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 Kubernetes > ReplicaSet 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-kubernetes#/policy/types/replicaSetServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: replicaSet{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"annotations: {{ $.resource.data.annotations | dump | safe }}\navailable_replicas: {{ $.resource.data.available_replicas | dump | safe }}\ncluster_name: {{ $.resource.metadata.kubernetes.clusterName | dump | safe }}\ncluster_uid: {{ $.resource.metadata.kubernetes.clusterUid | dump | safe }}\ncreation_timestamp: {{ $.resource.data.creation_timestamp | dump | safe }}\nfully_labeled_replicas: {{ $.resource.data.fully_labeled_replicas | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nname: {{ $.resource.data.name | dump | safe }}\nnamespace: {{ $.resource.data.namespace | dump | safe }}\nowner_references: {{ $.resource.data.owner_references | dump | safe }}\nready_replicas: {{ $.resource.data.ready_replicas | dump | safe }}\nreplicas: {{ $.resource.data.replicas | dump | safe }}\nselector: {{ $.resource.data.selector | dump | safe }}\nselector_query: {{ $.resource.data.selector_query | dump | safe }}\nstatus_replicas: {{ $.resource.data.status_replicas | dump | safe }}\ntemplate: {{ $.resource.data.template | dump | safe }}\nuid: {{ $.resource.data.uid | dump | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > ReplicaSet > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/replicaSetServiceNowConfigurationItemTableDefinition
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-kubernetes#/policy/types/replicaSetServiceNowTableDefinition 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"
}
}
}

Kubernetes > ReplicaSet > ServiceNow > Import Set

Synchronize the data for the Kubernetes > ReplicaSet based on the Kubernetes > ReplicaSet > ServiceNow > Import Set > * policies.

The policy ensures that Kubernetes > ReplicaSet data is automatically sent through import sets, which then triggers transformations based on predefined transform maps in the import set table.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/replicaSetServiceNowImportSet
Valid Value
[
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
]
Schema
{
"type": "string",
"enum": [
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
],
"example": [
"Skip"
],
"default": "Skip"
}

Kubernetes > ReplicaSet > ServiceNow > Import Set > Archive Columns

This policy specifically allows users to define the details of the columns used for archiving purposes.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/replicaSetServiceNowImportSetArchiveColumns
Schema
{
"type": "object",
"default": {}
}

Kubernetes > ReplicaSet > ServiceNow > Import Set > 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 Kubernetes > ReplicaSet 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-kubernetes#/policy/types/replicaSetServiceNowImportSetRecord
Default Template Input
"{\n resource: replicaSet{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n type {\n uri\n }\n }\n}\n"
Default Template
"annotations: {{ $.resource.data.annotations | dump | safe }}\navailable_replicas: {{ $.resource.data.available_replicas | dump | safe }}\ncluster_name: {{ $.resource.metadata.kubernetes.clusterName | dump | safe }}\ncluster_uid: {{ $.resource.metadata.kubernetes.clusterUid | dump | safe }}\ncreation_timestamp: {{ $.resource.data.creation_timestamp | dump | safe }}\nfully_labeled_replicas: {{ $.resource.data.fully_labeled_replicas | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nname: {{ $.resource.data.name | dump | safe }}\nnamespace: {{ $.resource.data.namespace | dump | safe }}\nowner_references: {{ $.resource.data.owner_references | dump | safe }}\nready_replicas: {{ $.resource.data.ready_replicas | dump | safe }}\nreplicas: {{ $.resource.data.replicas | dump | safe }}\nselector: {{ $.resource.data.selector | dump | safe }}\nselector_query: {{ $.resource.data.selector_query | dump | safe }}\nstatus_replicas: {{ $.resource.data.status_replicas | dump | safe }}\ntemplate: {{ $.resource.data.template | dump | safe }}\nuid: {{ $.resource.data.uid | dump | safe }}\nresource_type_uri: {{ $.resource.type.uri | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > ReplicaSet > ServiceNow > Import Set > Table Name

This policy specifically allows users to define the name of the ServiceNow staging table where the Kubernetes > ReplicaSet import set record will be sent.

It defaults to ServiceNow > Import Set > Table Name [Default] policy.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/replicaSetServiceNowImportSetTableName
Default Template Input
"{\n defaultTableName: policy(uri:\"tmod:@turbot/servicenow#/policy/types/serviceNowImportSetTableNameDefault\")\n}\n"
Default Template
"{{ $.defaultTableName }}\n"
Schema
{
"type": "string"
}

Kubernetes > ReplicaSet > ServiceNow > Table

Configure a Table for Kubernetes > ReplicaSet resource type in ServiceNow via the Kubernetes > ReplicaSet > ServiceNow > Table > * policies.

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

Kubernetes > ReplicaSet > 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 Kubernetes > ReplicaSet data.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/replicaSetServiceNowTableDefinition
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_kubernetes_replicaset",
"label": "Kubernetes > ReplicaSet",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "annotations",
"label": "Annotations",
"type": "string",
"size": 1000
},
{
"name": "available_replicas",
"label": "Available Replicas",
"type": "integer"
},
{
"name": "cluster_name",
"label": "Cluster Name",
"type": "string"
},
{
"name": "cluster_uid",
"label": "Cluster UID",
"type": "string",
"size": 50
},
{
"name": "creation_timestamp",
"label": "Creation Timestamp",
"size": 50
},
{
"name": "fully_labeled_replicas",
"label": "Fully Labeled Replicas",
"type": "integer"
},
{
"name": "labels",
"label": "Labels",
"type": "string",
"size": 10000
},
{
"name": "name",
"label": "Name",
"type": "string",
"size": 255
},
{
"name": "namespace",
"label": "Namespace"
},
{
"name": "owner_references",
"label": "Owner References",
"type": "string",
"size": 10000
},
{
"name": "ready_replicas",
"label": "Ready Replicas",
"type": "integer"
},
{
"name": "replicas",
"label": "Replicas",
"type": "integer"
},
{
"name": "selector",
"label": "Selector",
"type": "string",
"size": 10000
},
{
"name": "selector_query",
"label": "Selector Query"
},
{
"name": "status_replicas",
"label": "Status Replicas",
"type": "integer"
},
{
"name": "template",
"label": "Template",
"type": "string",
"size": 10000
},
{
"name": "uid",
"label": "UID",
"size": 50
}
]
}
}

Kubernetes > Service > ServiceNow

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/serviceServiceNow
Targets

Kubernetes > Service > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/serviceServiceNowConfigurationItem
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"
}

Kubernetes > Service > 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 Kubernetes > Service 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-kubernetes#/policy/types/serviceServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: service{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"allocate_load_balancer_node_ports: {{ $.resource.data.allocate_load_balancer_node_ports | dump | safe }}\ncluster_ips: {{ $.resource.data.cluster_ips | dump | safe }}\ncluster_name: {{ $.resource.metadata.kubernetes.clusterName | dump | safe }}\ncluster_uid: {{ $.resource.metadata.kubernetes.clusterUid | dump | safe }}\ncreation_timestamp: {{ $.resource.data.creation_timestamp | dump | safe }}\nexternal_traffic_policy: {{ $.resource.data.external_traffic_policy | dump | safe }}\nip_families: {{ $.resource.data.ip_families | dump | safe }}\nname: {{ $.resource.data.name | dump | safe }}\nnamespace: {{ $.resource.data.namespace | dump | safe }}\nports: {{ $.resource.data.ports | dump | safe }}\nselector_query: {{ $.resource.data.selector_query | dump | safe }}\nsession_affinity: {{ $.resource.data.session_affinity | dump | safe }}\ntype: {{ $.resource.data.type | dump | safe }}\nuid: {{ $.resource.data.uid | dump | safe }}\n"
Schema
{
"type": "object"
}

Kubernetes > Service > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/serviceServiceNowConfigurationItemTableDefinition
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-kubernetes#/policy/types/serviceServiceNowTableDefinition 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"
}
}
}

Kubernetes > Service > ServiceNow > Import Set

Synchronize the data for the Kubernetes > Service based on the Kubernetes > Service > ServiceNow > Import Set > * policies.

The policy ensures that Kubernetes > Service data is automatically sent through import sets, which then triggers transformations based on predefined transform maps in the import set table.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/serviceServiceNowImportSet
Valid Value
[
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
]
Schema
{
"type": "string",
"enum": [
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
],
"example": [
"Skip"
],
"default": "Skip"
}

Kubernetes > Service > ServiceNow > Import Set > Archive Columns

This policy specifically allows users to define the details of the columns used for archiving purposes.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/serviceServiceNowImportSetArchiveColumns
Schema
{
"type": "object",
"default": {}
}

Kubernetes > Service > ServiceNow > Import Set > 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 Kubernetes > Service 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-kubernetes#/policy/types/serviceServiceNowImportSetRecord
Default Template Input
"{\n resource: service{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"allocate_load_balancer_node_ports: {{ $.resource.data.allocate_load_balancer_node_ports | dump | safe }}\ncluster_ips: {{ $.resource.data.cluster_ips | dump | safe }}\ncluster_name: {{ $.resource.metadata.kubernetes.clusterName | dump | safe }}\ncluster_uid: {{ $.resource.metadata.kubernetes.clusterUid | dump | safe }}\ncreation_timestamp: {{ $.resource.data.creation_timestamp | dump | safe }}\nexternal_traffic_policy: {{ $.resource.data.external_traffic_policy | dump | safe }}\nip_families: {{ $.resource.data.ip_families | dump | safe }}\nname: {{ $.resource.data.name | dump | safe }}\nnamespace: {{ $.resource.data.namespace | dump | safe }}\nports: {{ $.resource.data.ports | dump | safe }}\nselector_query: {{ $.resource.data.selector_query | dump | safe }}\nsession_affinity: {{ $.resource.data.session_affinity | dump | safe }}\ntype: {{ $.resource.data.type | dump | safe }}\nuid: {{ $.resource.data.uid | dump | safe }}\nresource_type_uri: tmod:@turbot/kubernetes#/resource/types/service\n"
Schema
{
"type": "object"
}

Kubernetes > Service > ServiceNow > Import Set > Table Name

This policy specifically allows users to define the name of the ServiceNow staging table where the Kubernetes > Service import set record will be sent.

It defaults to ServiceNow > Import Set > Table Name [Default] policy.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/serviceServiceNowImportSetTableName
Default Template Input
"{\n defaultTableName: policy(uri:\"tmod:@turbot/servicenow#/policy/types/serviceNowImportSetTableNameDefault\")\n}\n"
Default Template
"{{ $.defaultTableName }}\n"
Schema
{
"type": "string"
}

Kubernetes > Service > ServiceNow > Table

Configure a Table for Kubernetes > Service resource type in ServiceNow via the Kubernetes > Service > ServiceNow > Table > * policies.

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

Kubernetes > Service > 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 Kubernetes > Service data.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/serviceServiceNowTableDefinition
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_kubernetes_service",
"label": "Kubernetes > Service",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "allocate_load_balancer_node_ports",
"label": "Allocate Load Balancer Node Ports",
"type": "boolean"
},
{
"name": "cluster_ips",
"label": "Cluster IPs",
"type": "string",
"size": 1000
},
{
"name": "cluster_name",
"label": "Cluster Name",
"type": "string"
},
{
"name": "cluster_uid",
"label": "Cluster UID",
"type": "string",
"size": 50
},
{
"name": "creation_timestamp",
"label": "Creation Timestamp",
"size": 50
},
{
"name": "external_traffic_policy",
"label": "External Traffic Policy"
},
{
"name": "ip_families",
"label": "IP Families",
"type": "string",
"size": 1000
},
{
"name": "name",
"label": "Name",
"type": "string",
"size": 255
},
{
"name": "namespace",
"label": "Namespace"
},
{
"name": "ports",
"label": "Ports",
"type": "string",
"size": 5000
},
{
"name": "selector_query",
"label": "Selector Query"
},
{
"name": "session_affinity",
"label": "Session Affinity"
},
{
"name": "type",
"label": "Type"
},
{
"name": "uid",
"label": "UID",
"size": 50
}
]
}
}

ServiceNow > Turbot > Watches > Kubernetes

The policy ensures that ServiceNow records are appropriately managed, and actions are triggered when necessary, to maintain data accuracy and synchronization.

URI
tmod:@turbot/servicenow-kubernetes#/policy/types/watchesKubernetes
Valid Value
[
"Skip",
"Check: Enabled",
"Check: Disabled",
"Enforce: Enabled",
"Enforce: Disabled"
]
Schema
{
"type": "string",
"enum": [
"Skip",
"Check: Enabled",
"Check: Disabled",
"Enforce: Enabled",
"Enforce: Disabled"
],
"example": [
"Skip"
],
"default": "Enforce: Enabled"
}