Policy types for @turbot/servicenow-gcp-pubsub

GCP > Pub/Sub > Snapshot > ServiceNow

URI
tmod:@turbot/servicenow-gcp-pubsub#/policy/types/snapshotServiceNow
Targets

GCP > Pub/Sub > Snapshot > ServiceNow > Configuration Item

Synchronize the data for the GCP > Pub/Sub > Snapshot based on the policies GCP > Pub/Sub > Snapshot > 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 > Pub/Sub > Snapshot information within the ServiceNow CMDB.

URI
tmod:@turbot/servicenow-gcp-pubsub#/policy/types/snapshotServiceNowConfigurationItem
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 > Pub/Sub > Snapshot > 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 > Pub/Sub > Snapshot 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-pubsub#/policy/types/snapshotServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: snapshot{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"expire_time: {{ $.resource.data.expireTime | dump | safe }}\niam_policy: {{ $.resource.data.iamPolicy | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nproject: {{ $.resource.metadata.gcp.projectId | dump | safe }}\nsnapshot_name: {{ $.resource.data.name | dump | safe }}\ntopic: {{ $.resource.data.topic | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > Pub/Sub > Snapshot > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-gcp-pubsub#/policy/types/snapshotServiceNowConfigurationItemTableDefinition
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-pubsub#/policy/types/snapshotServiceNowTableDefinition 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 > Pub/Sub > Snapshot > ServiceNow > Table

Configure a Table for GCP > Pub/Sub > Snapshot resource type in ServiceNow via the GCP > Pub/Sub > Snapshot > ServiceNow > Table > * policies.

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

GCP > Pub/Sub > Snapshot > 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 > Pub/Sub > Snapshot data.

URI
tmod:@turbot/servicenow-gcp-pubsub#/policy/types/snapshotServiceNowTableDefinition
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_pubsub_snapshot",
"label": "GCP > Pub/Sub > Snapshot",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "expire_time",
"label": "Expire Time"
},
{
"name": "iam_policy",
"label": "IAM Policy",
"type": "string",
"size": 1000
},
{
"name": "labels",
"label": "Labels",
"type": "string",
"size": 1000
},
{
"name": "project",
"label": "Project",
"type": "string"
},
{
"name": "snapshot_name",
"label": "Name"
},
{
"name": "topic",
"label": "Topic"
}
]
}
}

GCP > Pub/Sub > Subscription > ServiceNow

URI
tmod:@turbot/servicenow-gcp-pubsub#/policy/types/subscriptionServiceNow
Targets

GCP > Pub/Sub > Subscription > ServiceNow > Configuration Item

Synchronize the data for the GCP > Pub/Sub > Subscription based on the policies GCP > Pub/Sub > Subscription > 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 > Pub/Sub > Subscription information within the ServiceNow CMDB.

URI
tmod:@turbot/servicenow-gcp-pubsub#/policy/types/subscriptionServiceNowConfigurationItem
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 > Pub/Sub > Subscription > 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 > Pub/Sub > Subscription 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-pubsub#/policy/types/subscriptionServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: subscription{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"ack_deadline_seconds: {{ $.resource.data.ackDeadlineSeconds | dump | safe }}\nexpiration_policy_ttl: {{ $.resource.data.expirationPolicy | dump | safe }}\niam_policy: {{ $.resource.data.iamPolicy | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nmessage_retention_duration: {{ $.resource.data.messageRetentionDuration | dump | safe }}\nproject: {{ $.resource.metadata.gcp.projectId | dump | safe }}\nsubscription_name: {{ $.resource.data.name | dump | safe }}\ntopic: {{ $.resource.data.topic | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > Pub/Sub > Subscription > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-gcp-pubsub#/policy/types/subscriptionServiceNowConfigurationItemTableDefinition
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-pubsub#/policy/types/subscriptionServiceNowTableDefinition 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 > Pub/Sub > Subscription > ServiceNow > Table

Configure a Table for GCP > Pub/Sub > Subscription resource type in ServiceNow via the GCP > Pub/Sub > Subscription > ServiceNow > Table > * policies.

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

GCP > Pub/Sub > Subscription > 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 > Pub/Sub > Subscription data.

URI
tmod:@turbot/servicenow-gcp-pubsub#/policy/types/subscriptionServiceNowTableDefinition
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_pubsub_subscription",
"label": "GCP > Pub/Sub > Subscription",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "ack_deadline_seconds",
"label": "Ack Deadline Seconds"
},
{
"name": "expiration_policy_ttl",
"label": "Expiration Policy TTL"
},
{
"name": "iam_policy",
"label": "IAM Policy",
"type": "string",
"size": 1000
},
{
"name": "labels",
"label": "Labels",
"type": "string",
"size": 1000
},
{
"name": "message_retention_duration",
"label": "Message Retention Duration"
},
{
"name": "project",
"label": "Project",
"type": "string"
},
{
"name": "subscription_name",
"label": "Name"
},
{
"name": "topic",
"label": "Topic"
}
]
}
}

GCP > Pub/Sub > Topic > ServiceNow

URI
tmod:@turbot/servicenow-gcp-pubsub#/policy/types/topicServiceNow
Targets

GCP > Pub/Sub > Topic > ServiceNow > Configuration Item

Synchronize the data for the GCP > Pub/Sub > Topic based on the policies GCP > Pub/Sub > Topic > 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 > Pub/Sub > Topic information within the ServiceNow CMDB.

URI
tmod:@turbot/servicenow-gcp-pubsub#/policy/types/topicServiceNowConfigurationItem
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 > Pub/Sub > Topic > 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 > Pub/Sub > Topic 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-pubsub#/policy/types/topicServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: topic{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"iam_policy: {{ $.resource.data.iamPolicy | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nproject: {{ $.resource.metadata.gcp.projectId | dump | safe }}\ntopic_name: {{ $.resource.data.name | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > Pub/Sub > Topic > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-gcp-pubsub#/policy/types/topicServiceNowConfigurationItemTableDefinition
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-pubsub#/policy/types/topicServiceNowTableDefinition 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 > Pub/Sub > Topic > ServiceNow > Table

Configure a Table for GCP > Pub/Sub > Topic resource type in ServiceNow via the GCP > Pub/Sub > Topic > ServiceNow > Table > * policies.

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

GCP > Pub/Sub > Topic > 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 > Pub/Sub > Topic data.

URI
tmod:@turbot/servicenow-gcp-pubsub#/policy/types/topicServiceNowTableDefinition
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_pubsub_topic",
"label": "GCP > Pub/Sub > Topic",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "iam_policy",
"label": "IAM Policy",
"type": "string",
"size": 1000
},
{
"name": "labels",
"label": "Labels",
"type": "string",
"size": 1000
},
{
"name": "project",
"label": "Project",
"type": "string"
},
{
"name": "topic_name",
"label": "Name"
}
]
}
}