Policy types for @turbot/servicenow-gcp-bigquery

GCP > BigQuery > Dataset > ServiceNow

URI
tmod:@turbot/servicenow-gcp-bigquery#/policy/types/datasetServiceNow
Targets

GCP > BigQuery > Dataset > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-gcp-bigquery#/policy/types/datasetServiceNowConfigurationItem
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 > BigQuery > Dataset > 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 > BigQuery > Dataset 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-bigquery#/policy/types/datasetServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: dataset{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"access: {{ $.resource.data.access | dump | safe }}\ncreation_time: {{ $.resource.data.creationTime | dump | safe }}\ndataset_id: {{ $.resource.data.datasetReference.datasetId | dump | safe }}\ndataset_location: {{ $.resource.data.location | dump | safe }}\ndataset_name: {{ $.resource.data.friendlyName | dump | safe }}\ndefault_partition_expiration_ms: {{ $.resource.data.defaultPartitionExpirationMs | dump | safe }}\ndefault_table_expiration_ms: {{ $.resource.data.defaultTableExpirationMs | dump | safe }}\ndescription: {{ $.resource.data.description | dump | safe }}\netag: {{ $.resource.data.etag | dump | safe }}\nid: {{ $.resource.data.id | dump | safe }}\nis_case_insensitive: {{ $.resource.data.isCaseInsensitive | dump | safe }}\nkind: {{ $.resource.data.kind | dump | safe }}\nkms_key_name: {{ $.resource.data.defaultEncryptionConfiguration.kmsKeyName | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nlast_modified_time: {{ $.resource.data.lastModifiedTime | dump | safe }}\nmax_time_travel_hours: {{ $.resource.data.maxTimeTravelHours | dump | safe }}\nproject: {{ $.resource.metadata.gcp.projectId | dump | safe }}\nself_link: {{ $.resource.data.selfLink | dump | safe }}\ntags: {{ $.resource.turbot.tags | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > BigQuery > Dataset > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-gcp-bigquery#/policy/types/datasetServiceNowConfigurationItemTableDefinition
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-bigquery#/policy/types/datasetServiceNowTableDefinition 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 > BigQuery > Dataset > ServiceNow > Table

Configure a Table for GCP > BigQuery > Dataset resource type in ServiceNow via the GCP > BigQuery > Dataset > ServiceNow > Table > * policies.

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

GCP > BigQuery > Dataset > 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 > BigQuery > Dataset data.

URI
tmod:@turbot/servicenow-gcp-bigquery#/policy/types/datasetServiceNowTableDefinition
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_bigquery_dataset",
"label": "GCP > BigQuery > Dataset",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "access",
"label": "Access",
"type": "string",
"size": 1000
},
{
"name": "creation_time",
"label": "Creation Time"
},
{
"name": "dataset_id",
"label": "Dataset ID"
},
{
"name": "dataset_location",
"label": "Location"
},
{
"name": "dataset_name",
"label": "Name"
},
{
"name": "default_partition_expiration_ms",
"label": "Default Partition Expiration Ms"
},
{
"name": "default_table_expiration_ms",
"label": "Default Table Expiration Ms"
},
{
"name": "description",
"label": "Description"
},
{
"name": "etag",
"label": "Etag"
},
{
"name": "id",
"label": "ID"
},
{
"name": "is_case_insensitive",
"label": "Is Case Insensitive",
"type": "boolean"
},
{
"name": "kind",
"label": "Kind"
},
{
"name": "kms_key_name",
"label": "KMS Key Name"
},
{
"name": "labels",
"label": "Labels",
"type": "string",
"size": 1000
},
{
"name": "last_modified_time",
"label": "Last Modified Time"
},
{
"name": "max_time_travel_hours",
"label": "Max Time Travel Hours"
},
{
"name": "project",
"label": "Project"
},
{
"name": "self_link",
"label": "Self Link"
},
{
"name": "tags",
"label": "Tags",
"type": "string",
"size": 1000
}
]
}
}

GCP > BigQuery > Table > ServiceNow

URI
tmod:@turbot/servicenow-gcp-bigquery#/policy/types/tableServiceNow
Targets

GCP > BigQuery > Table > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-gcp-bigquery#/policy/types/tableServiceNowConfigurationItem
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 > BigQuery > Table > 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 > BigQuery > Table 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-bigquery#/policy/types/tableServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: table{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"clustering_fields: {{ $.resource.data.clustering | dump | safe }}\ncreation_time: {{ $.resource.data.creationTime | dump | safe }}\ndataset_id: {{ $.resource.metadata.datasetId | dump | safe }}\ndescription: {{ $.resource.data.description | dump | safe }}\nencryption_configuration: {{ $.resource.data.encryptionConfiguration | dump | safe }}\netag: {{ $.resource.data.etag | dump | safe }}\nexpiration_time: {{ $.resource.data.expirationTime | dump | safe }}\nexternal_data_configuration: {{ $.resource.data.externalDataConfiguration | dump | safe }}\nid: {{ $.resource.data.id | dump | safe }}\nkind: {{ $.resource.data.kind | dump | safe }}\nlabels: {{ $.resource.data.labels | dump | safe }}\nlast_modified_time: {{ $.resource.data.lastModifiedTime | dump | safe }}\nmaterialized_view: {{ $.resource.data.materializedView | dump | safe }}\nnum_bytes: {{ $.resource.data.numBytes | dump | safe }}\nnum_long_term_bytes: {{ $.resource.data.numLongTermBytes | dump | safe }}\nnum_physical_bytes: {{ $.resource.data.numPhysicalBytes | dump | safe }}\nnum_rows: {{ $.resource.data.numRows | dump | safe }}\nproject: {{ $.resource.metadata.gcp.projectId | dump | safe }}\nrange_partitioning: {{ $.resource.data.rangePartitioning | dump | safe }}\nrequire_partition_filter: {{ $.resource.data.requirePartitionFilter | dump | safe }}\nschema_fields: {{ $.resource.data.schema.fields | dump | safe }}\nself_link: {{ $.resource.data.selfLink | dump | safe }}\nsnapshot_definition: {{ $.resource.data.snapshotDefinition | dump | safe }}\nstreaming_buffer: {{ $.resource.data.streamingBuffer | dump | safe }}\ntable_constraints: {{ $.resource.data.tableConstraints | dump | safe }}\ntable_id: {{ $.resource.data.tableReference.tableId | dump | safe }}\ntable_location: {{ $.resource.data.location | dump | safe }}\ntable_name: {{ $.resource.data.friendlyName | dump | safe }}\ntime_partitioning: {{ $.resource.data.timePartitioning | dump | safe }}\ntype: {{ $.resource.data.type | dump | safe }}\nview: {{ $.resource.data.view | dump | safe }}\nview_use_legacy_sql: {{ $.resource.data.view.useLegacySql | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > BigQuery > Table > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-gcp-bigquery#/policy/types/tableServiceNowConfigurationItemTableDefinition
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-bigquery#/policy/types/tableServiceNowTableDefinition 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 > BigQuery > Table > ServiceNow > Table

Configure a Table for GCP > BigQuery > Table resource type in ServiceNow via the GCP > BigQuery > Table > ServiceNow > Table > * policies.

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

GCP > BigQuery > Table > 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 > BigQuery > Table data.

URI
tmod:@turbot/servicenow-gcp-bigquery#/policy/types/tableServiceNowTableDefinition
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_bigquery_table",
"label": "GCP > BigQuery > Table",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "clustering_fields",
"label": "Clustering Fields",
"type": "string",
"size": 1000
},
{
"name": "creation_time",
"label": "Creation Time"
},
{
"name": "dataset_id",
"label": "Dataset ID"
},
{
"name": "description",
"label": "Description"
},
{
"name": "encryption_configuration",
"label": "Encryption Configuration"
},
{
"name": "etag",
"label": "Etag"
},
{
"name": "expiration_time",
"label": "Expiration Time"
},
{
"name": "external_data_configuration",
"label": "External Data Configuration",
"type": "string",
"size": 1000
},
{
"name": "id",
"label": "ID"
},
{
"name": "kind",
"label": "Kind"
},
{
"name": "labels",
"label": "Labels",
"type": "string",
"size": 1000
},
{
"name": "last_modified_time",
"label": "Last Modified Time"
},
{
"name": "materialized_view",
"label": "Materialized View",
"type": "string",
"size": 1000
},
{
"name": "num_bytes",
"label": "Num Bytes"
},
{
"name": "num_long_term_bytes",
"label": "Num Long Term Bytes"
},
{
"name": "num_physical_bytes",
"label": "Num Physical Bytes"
},
{
"name": "num_rows",
"label": "Num Rows"
},
{
"name": "project",
"label": "Project"
},
{
"name": "range_partitioning",
"label": "Range Partitioning",
"type": "string",
"size": 1000
},
{
"name": "require_partition_filter",
"label": "Require Partition Filter",
"type": "boolean"
},
{
"name": "schema_fields",
"label": "Schema Fields",
"type": "string",
"size": 3000
},
{
"name": "self_link",
"label": "Self Link"
},
{
"name": "snapshot_definition",
"label": "Snapshot Definition",
"type": "string",
"size": 1000
},
{
"name": "streaming_buffer",
"label": "Streaming Buffer",
"type": "string",
"size": 1000
},
{
"name": "table_constraints",
"label": "Table Constraints",
"size": 1000
},
{
"name": "table_id",
"label": "Table ID"
},
{
"name": "table_location",
"label": "Location"
},
{
"name": "table_name",
"label": "Name"
},
{
"name": "time_partitioning",
"label": "Time Partitioning",
"type": "string",
"size": 1000
},
{
"name": "type",
"label": "Type"
},
{
"name": "view",
"label": "View",
"type": "string",
"size": 1000
},
{
"name": "view_use_legacy_sql",
"label": "View Use Legacy SQL",
"type": "boolean"
}
]
}
}