Policy types for @turbot/servicenow-gcp-kms

GCP > KMS > Crypto Key > ServiceNow

URI
tmod:@turbot/servicenow-gcp-kms#/policy/types/cryptoKeyServiceNow
Targets

GCP > KMS > Crypto Key > ServiceNow > Configuration Item

Synchronize the data for the GCP > KMS > Crypto Key based on the policies GCP > KMS > Crypto Key > 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 GCP > KMS > Crypto Key information within the ServiceNow CMDB.

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

GCP > KMS > Crypto Key > 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 GCP > KMS > Crypto Key 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-gcp-kms#/policy/types/cryptoKeyServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: cryptoKey{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"create_time: {{ $.resource.data.createTime | dump | safe }}\ncryptokey_name: {{ $.resource.data.primary.name | dump | safe }}\ndestroy_scheduled_duration: {{ $.resource.data.destroyScheduledDuration | dump | safe }}\niam_policy: {{ $.resource.data.iamPolicy | dump | safe }}\nkey_ring_name: {{ $.resource.data.name | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nnext_rotation_time: {{ $.resource.data.nextRotationTime | dump | safe }}\nprimary: {{ $.resource.data.primary | dump | safe }}\nproject: {{ $.resource.metadata.gcp.projectId | dump | safe }}\npurpose: {{ $.resource.data.purpose | dump | safe }}\nregion_name: {{ $.resource.metadata.gcp.regionName | dump | safe }}\nrotation_period: {{ $.resource.data.rotationPeriod | dump | safe }}\nversion_template: {{ $.resource.data.versionTemplate | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > KMS > Crypto Key > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-gcp-kms#/policy/types/cryptoKeyServiceNowConfigurationItemTableDefinition
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-gcp-kms#/policy/types/cryptoKeyServiceNowTableDefinition 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"
}
}
}

GCP > KMS > Crypto Key > ServiceNow > Table

Configure a Table for GCP > KMS > Crypto Key resource type in ServiceNow via the GCP > KMS > Crypto Key > ServiceNow > Table > * policies.

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

GCP > KMS > Crypto Key > 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 GCP > KMS > Crypto Key data.

URI
tmod:@turbot/servicenow-gcp-kms#/policy/types/cryptoKeyServiceNowTableDefinition
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_gcp_kms_cryptokey",
"label": "GCP > KMS > Crypto Key",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "create_time",
"label": "Create Time"
},
{
"name": "cryptokey_name",
"label": "CryptoKey Name"
},
{
"name": "destroy_scheduled_duration",
"label": "Destroy Scheduled Duration"
},
{
"name": "iam_policy",
"label": "IAM Policy",
"type": "string",
"size": 1000
},
{
"name": "key_ring_name",
"label": "Name"
},
{
"name": "labels",
"label": "Labels",
"type": "string",
"size": 1000
},
{
"name": "next_rotation_time",
"label": "Next Rotation Time"
},
{
"name": "primary",
"label": "Primary",
"type": "string",
"size": 1000
},
{
"name": "project",
"label": "Project"
},
{
"name": "purpose",
"label": "Purpose"
},
{
"name": "region_name",
"label": "Region Name"
},
{
"name": "rotation_period",
"label": "Rotation Period"
},
{
"name": "version_template",
"label": "Version Template",
"type": "string",
"size": 1000
}
]
}
}

GCP > KMS > Key Ring > ServiceNow

URI
tmod:@turbot/servicenow-gcp-kms#/policy/types/keyRingServiceNow
Targets

GCP > KMS > Key Ring > ServiceNow > Configuration Item

Synchronize the data for the GCP > KMS > Key Ring based on the policies GCP > KMS > Key Ring > 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 GCP > KMS > Key Ring information within the ServiceNow CMDB.

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

GCP > KMS > Key Ring > 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 GCP > KMS > Key Ring 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-gcp-kms#/policy/types/keyRingServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: keyRing{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"create_time: {{ $.resource.data.createTime | dump | safe }}\niam_policy: {{ $.resource.data.iamPolicy | dump | safe }}\nkeyring_name: {{ $.resource.data.name | dump | safe }}\nproject: {{ $.resource.metadata.gcp.projectId | dump | safe }}\nregion_name: {{ $.resource.metadata.gcp.regionName | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > KMS > Key Ring > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-gcp-kms#/policy/types/keyRingServiceNowConfigurationItemTableDefinition
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-gcp-kms#/policy/types/keyRingServiceNowTableDefinition 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"
}
}
}

GCP > KMS > Key Ring > ServiceNow > Table

Configure a Table for GCP > KMS > Key Ring resource type in ServiceNow via the GCP > KMS > Key Ring > ServiceNow > Table > * policies.

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

GCP > KMS > Key Ring > 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 GCP > KMS > Key Ring data.

URI
tmod:@turbot/servicenow-gcp-kms#/policy/types/keyRingServiceNowTableDefinition
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_gcp_kms_keyring",
"label": "GCP > KMS > Key Ring",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "create_time",
"label": "Create Time"
},
{
"name": "iam_policy",
"label": "IAM Policy",
"type": "string",
"size": 1000
},
{
"name": "keyring_name",
"label": "Name"
},
{
"name": "project",
"label": "Project"
},
{
"name": "region_name",
"label": "Region Name"
}
]
}
}