Policy types for @turbot/servicenow-gcp-sql

GCP > SQL > Backup > ServiceNow

URI
tmod:@turbot/servicenow-gcp-sql#/policy/types/backupServiceNow
Targets

GCP > SQL > Backup > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-gcp-sql#/policy/types/backupServiceNowConfigurationItem
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 > SQL > Backup > 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 > SQL > Backup 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-sql#/policy/types/backupServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: backup{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"backup_location: {{ $.resource.data.location | dump | safe }}\ndescription: {{ $.resource.data.description | dump | safe }}\ndisk_encryption_configuration: {{ $.resource.data.diskEncryptionConfiguration | dump | safe }}\ndisk_encryption_status: {{ $.resource.data.diskEncryptionStatus | dump | safe }}\nend_time: {{ $.resource.data.endTime | dump | safe }}\nenqueued_time: {{ $.resource.data.enqueuedTime | dump | safe }}\nerror: {{ $.resource.data.error | dump | safe }}\nid: {{ $.resource.data.id | dump | safe }}\ninstance_name: {{ $.resource.data.instance | dump | safe }}\nkind: {{ $.resource.data.kind | dump | safe }}\nproject: {{ $.resource.metadata.gcp.projectId | dump | safe }}\nregion_name: {{ $.resource.metadata.gcp.regionName | dump | safe }}\nself_link: {{ $.resource.data.selfLink | dump | safe }}\nstart_time: {{ $.resource.data.startTime | dump | safe }}\nstatus: {{ $.resource.data.status | dump | safe }}\ntype: {{ $.resource.data.type | dump | safe }}\nwindow_start_time: {{ $.resource.data.windowStartTime | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > SQL > Backup > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-gcp-sql#/policy/types/backupServiceNowConfigurationItemTableDefinition
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-sql#/policy/types/backupServiceNowTableDefinition 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 > SQL > Backup > ServiceNow > Table

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

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

GCP > SQL > Backup > 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 > SQL > Backup data.

URI
tmod:@turbot/servicenow-gcp-sql#/policy/types/backupServiceNowTableDefinition
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_sql_backup",
"label": "GCP > SQL > Backup",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "backup_location",
"label": "Backup Location"
},
{
"name": "description",
"label": "Description"
},
{
"name": "disk_encryption_configuration",
"label": "Disk Encryption Configuration",
"type": "string",
"size": 1000
},
{
"name": "disk_encryption_status",
"label": "Disk Encryption Status",
"type": "string",
"size": 1000
},
{
"name": "end_time",
"label": "End Time"
},
{
"name": "enqueued_time",
"label": "Enqueued Time"
},
{
"name": "error",
"label": "Error",
"type": "string",
"size": 1000
},
{
"name": "id",
"label": "ID"
},
{
"name": "instance_name",
"label": "Instance Name"
},
{
"name": "kind",
"label": "Kind"
},
{
"name": "project",
"label": "Project"
},
{
"name": "region_name",
"label": "Region Name"
},
{
"name": "self_link",
"label": "Self Link"
},
{
"name": "start_time",
"label": "Start Time"
},
{
"name": "status",
"label": "Status"
},
{
"name": "type",
"label": "Type"
},
{
"name": "window_start_time",
"label": "Window Start Time"
}
]
}
}

GCP > SQL > Database > ServiceNow

URI
tmod:@turbot/servicenow-gcp-sql#/policy/types/databaseServiceNow
Targets

GCP > SQL > Database > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-gcp-sql#/policy/types/databaseServiceNowConfigurationItem
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 > SQL > Database > 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 > SQL > Database 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-sql#/policy/types/databaseServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: database{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"charset: {{ $.resource.data.charset | dump | safe }}\ncollation: {{ $.resource.data.collation | dump | safe }}\ndatabase_location: {{ $.resource.metadata.gcp.regionName | dump | safe }}\ndatabase_name: {{ $.resource.data.name | dump | safe }}\netag: {{ $.resource.data.etag | dump | safe }}\ninstance_name: {{ $.resource.data.instance | dump | safe }}\nkind: {{ $.resource.data.kind | dump | safe }}\nproject: {{ $.resource.metadata.gcp.projectId | dump | safe }}\nself_link: {{ $.resource.data.selfLink | dump | safe }}\nsql_server_database_details: {{ $.resource.data.sqlserverDatabaseDetails | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > SQL > Database > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-gcp-sql#/policy/types/databaseServiceNowConfigurationItemTableDefinition
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-sql#/policy/types/databaseServiceNowTableDefinition 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 > SQL > Database > ServiceNow > Table

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

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

GCP > SQL > Database > 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 > SQL > Database data.

URI
tmod:@turbot/servicenow-gcp-sql#/policy/types/databaseServiceNowTableDefinition
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_sql_database",
"label": "GCP > SQL > Database",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "charset",
"label": "Charset"
},
{
"name": "collation",
"label": "Collation"
},
{
"name": "database_location",
"label": "Location"
},
{
"name": "database_name",
"label": "Database Name"
},
{
"name": "etag",
"label": "ETag"
},
{
"name": "instance_name",
"label": "Instance Name"
},
{
"name": "kind",
"label": "Kind"
},
{
"name": "project",
"label": "Project"
},
{
"name": "self_link",
"label": "Self Link"
},
{
"name": "sql_server_database_details",
"label": "SQL Server Database Details",
"size": 2000
}
]
}
}

GCP > SQL > Instance > ServiceNow

URI
tmod:@turbot/servicenow-gcp-sql#/policy/types/instanceServiceNow
Targets

GCP > SQL > Instance > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-gcp-sql#/policy/types/instanceServiceNowConfigurationItem
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 > SQL > Instance > 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 > SQL > Instance 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-sql#/policy/types/instanceServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: instance{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"availability_type: {{ $.resource.data.availabilityType | dump | safe }}\nbackup_enabled: {{ $.resource.data.settings.backupConfiguration.enabled | dump | safe }}\nbackup_start_time: {{ $.resource.data.settings.backupConfiguration.startTime | dump | safe }}\ncurrent_disk_size: {{ $.resource.data.currentDiskSize | dump | safe }}\ndata_disk_size_gb: {{ $.resource.data.settings.dataDiskSizeGb | dump | safe }}\ndatabase_version: {{ $.resource.data.databaseVersion | dump | safe }}\nenable_point_in_time_recovery: {{ $.resource.data.settings.backupConfiguration.pointInTimeRecoveryEnabled | dump | safe }}\ngce_zone: {{ $.resource.data.gceZone | dump | safe }}\ninstance_name: {{ $.resource.data.name | dump | safe }}\ninstance_type: {{ $.resource.data.instanceType | dump | safe }}\nip_addresses: {{ $.resource.data.ipAddresses | dump | safe }}\nip_configuration: {{ $.resource.data.settings.ipConfiguration | dump | safe }}\nipv6_address: {{ $.resource.data.ipv6Address | dump | safe }}\nkms_key_name: {{ $.resource.data.diskEncryptionConfiguration.kmsKeyName | dump | safe }}\nlabels: {{ $.resource.data.settings.userLabels | dump | safe }}\nmachine_type: {{ $.resource.data.settings.tier | dump | safe }}\nmaintenance_window: {{ $.resource.data.settings.maintenanceWindow | dump | safe }}\nmax_disk_size: {{ $.resource.data.maxDiskSize | dump | safe }}\nproject: {{ $.resource.metadata.gcp.projectId | dump | safe }}\nregion: {{ $.resource.metadata.gcp.regionName | dump | safe }}\nservice_account_email_address: {{ $.resource.data.serviceAccountEmailAddress | dump | safe }}\nssl_configuration: {{ $.resource.data.serverCaCert | dump | safe }}\nstate: {{ $.resource.data.state | dump | safe }}\nstorage_auto_resize: {{ $.resource.data.settings.storageAutoResize | dump | safe }}\ntags: {{ $.resource.turbot.tags | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > SQL > Instance > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-gcp-sql#/policy/types/instanceServiceNowConfigurationItemTableDefinition
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-sql#/policy/types/instanceServiceNowTableDefinition 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 > SQL > Instance > ServiceNow > Table

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

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

GCP > SQL > Instance > 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 > SQL > Instance data.

URI
tmod:@turbot/servicenow-gcp-sql#/policy/types/instanceServiceNowTableDefinition
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_sql_instance",
"label": "GCP > SQL > Instance",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "availability_type",
"label": "Availability Type"
},
{
"name": "backup_enabled",
"label": "Backup Enabled",
"type": "boolean"
},
{
"name": "backup_start_time",
"label": "Backup Start Time"
},
{
"name": "current_disk_size",
"label": "Current Disk Size"
},
{
"name": "data_disk_size_gb",
"label": "Data Disk Size GB"
},
{
"name": "database_version",
"label": "Database Version"
},
{
"name": "enable_point_in_time_recovery",
"label": "Enable Point In Time Recovery",
"type": "boolean"
},
{
"name": "gce_zone",
"label": "Gce Zone"
},
{
"name": "instance_name",
"label": "Instance Name"
},
{
"name": "instance_type",
"label": "Instance Type"
},
{
"name": "ip_addresses",
"label": "IP Addresses",
"type": "string",
"size": 1000
},
{
"name": "ip_configuration",
"label": "IP Configuration",
"type": "string",
"size": 1000
},
{
"name": "ipv6_address",
"label": "IPv6 Address"
},
{
"name": "kms_key_name",
"label": "KMS Key Name"
},
{
"name": "labels",
"label": "Labels",
"type": "string",
"size": 1000
},
{
"name": "machine_type",
"label": "Machine Type"
},
{
"name": "maintenance_window",
"label": "Maintenance Window",
"type": "string",
"size": 1000
},
{
"name": "max_disk_size",
"label": "Max Disk Size"
},
{
"name": "project",
"label": "Project",
"type": "string"
},
{
"name": "region",
"label": "Region"
},
{
"name": "service_account_email_address",
"label": "Service Account Email Address"
},
{
"name": "ssl_configuration",
"label": "SSL Configuration",
"type": "string",
"size": 1000
},
{
"name": "state",
"label": "State"
},
{
"name": "storage_auto_resize",
"label": "Storage Auto Resize",
"type": "boolean"
},
{
"name": "tags",
"label": "Tags",
"type": "string",
"size": 1000
}
]
}
}