Policy types for @turbot/servicenow-gcp-iam

GCP > IAM > Project Role > ServiceNow

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/projectRoleServiceNow
Targets

GCP > IAM > Project Role > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/projectRoleServiceNowConfigurationItem
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 > IAM > Project Role > 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 > IAM > Project Role 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-iam#/policy/types/projectRoleServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: projectRole{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"created_by: {{ $.resource.metadata.createdBy | dump | safe }}\ndeleted: {{ $.resource.data.deleted | dump | safe }}\netag: {{ $.resource.data.etag | dump | safe }}\nincluded_permissions: {{ $.resource.data.includedPermissions | dump | safe }}\nproject_id: {{ $.resource.metadata.gcp.projectId | dump | safe }}\nproject_role_name: {{ $.resource.data.name | dump | safe }}\nrole_id: {{ $.resource.metadata.roleId | dump | safe }}\nstage: {{ $.resource.data.stage | dump | safe }}\ntitle: {{ $.resource.data.title | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > IAM > Project Role > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/projectRoleServiceNowConfigurationItemTableDefinition
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-iam#/policy/types/projectRoleServiceNowTableDefinition 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 > IAM > Project Role > ServiceNow > Table

Configure a Table for GCP > IAM > Project Role resource type in ServiceNow via the GCP > IAM > Project Role > ServiceNow > Table > * policies.

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

GCP > IAM > Project Role > 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 > IAM > Project Role data.

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/projectRoleServiceNowTableDefinition
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_iam_projectrole",
"label": "GCP > IAM > Project Role",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "created_by",
"label": "Created By"
},
{
"name": "deleted",
"label": "Deleted"
},
{
"name": "etag",
"label": "Etag"
},
{
"name": "included_permissions",
"label": "Included Permissions"
},
{
"name": "project_id",
"label": "Project ID"
},
{
"name": "project_role_name",
"label": "Name"
},
{
"name": "role_id",
"label": "Role ID"
},
{
"name": "stage",
"label": "Stage"
},
{
"name": "title",
"label": "Title"
}
]
}
}

GCP > IAM > Project User > ServiceNow

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/projectUserServiceNow
Targets

GCP > IAM > Project User > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/projectUserServiceNowConfigurationItem
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 > IAM > Project User > 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 > IAM > Project User 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-iam#/policy/types/projectUserServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: projectUser{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"last_admin_activity: {{ $.resource.data.lastAdminActivity | dump | safe }}\nproject_id: {{ $.resource.metadata.gcp.projectId | dump | safe }}\nroles: {{ $.resource.data.roles | dump | safe }}\nuser_id: {{ $.resource.data.userId | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > IAM > Project User > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/projectUserServiceNowConfigurationItemTableDefinition
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-iam#/policy/types/projectUserServiceNowTableDefinition 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 > IAM > Project User > ServiceNow > Table

Configure a Table for GCP > IAM > Project User resource type in ServiceNow via the GCP > IAM > Project User > ServiceNow > Table > * policies.

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

GCP > IAM > Project User > 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 > IAM > Project User data.

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/projectUserServiceNowTableDefinition
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_iam_projectuser",
"label": "GCP > IAM > Project User",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "last_admin_activity",
"label": "Last Admin Activity"
},
{
"name": "project_id",
"label": "Project ID"
},
{
"name": "roles",
"label": "Roles"
},
{
"name": "user_id",
"label": "User ID"
}
]
}
}

GCP > IAM > Service Account > ServiceNow

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/serviceAccountServiceNow
Targets

GCP > IAM > Service Account > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/serviceAccountServiceNowConfigurationItem
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 > IAM > Service Account > 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 > IAM > Service Account 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-iam#/policy/types/serviceAccountServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: serviceAccount{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"description: {{ $.resource.data.description | dump | safe }}\ndisplay_name: {{ $.resource.data.displayName | dump | safe }}\nemail: {{ $.resource.data.email | dump | safe }}\netag: {{ $.resource.data.etag | dump | safe }}\niam_policy: {{ $.resource.data.iamPolicy | dump | safe }}\noauth2_client_id: {{ $.resource.data.oauth2ClientId | dump | safe }}\nproject_id: {{ $.resource.data.projectId | dump | safe }}\nservice_account_name: {{ $.resource.data.name | dump | safe }}\nunique_id: {{ $.resource.data.uniqueId | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > IAM > Service Account > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/serviceAccountServiceNowConfigurationItemTableDefinition
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-iam#/policy/types/serviceAccountServiceNowTableDefinition 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 > IAM > Service Account > ServiceNow > Table

Configure a Table for GCP > IAM > Service Account resource type in ServiceNow via the GCP > IAM > Service Account > ServiceNow > Table > * policies.

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

GCP > IAM > Service Account > 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 > IAM > Service Account data.

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/serviceAccountServiceNowTableDefinition
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_iam_serviceaccount",
"label": "GCP > IAM > Service Account",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "description",
"label": "Description"
},
{
"name": "display_name",
"label": "Display Name"
},
{
"name": "email",
"label": "Email"
},
{
"name": "etag",
"label": "Etag"
},
{
"name": "iam_policy",
"label": "IAM Policy"
},
{
"name": "oauth2_client_id",
"label": "OAuth 2 Client ID"
},
{
"name": "project_id",
"label": "Project ID"
},
{
"name": "service_account_name",
"label": "Name"
},
{
"name": "unique_id",
"label": "Unique ID"
}
]
}
}

GCP > IAM > Service Account Key > ServiceNow

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/serviceAccountKeyServiceNow
Targets

GCP > IAM > Service Account Key > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/serviceAccountKeyServiceNowConfigurationItem
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 > IAM > Service Account 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 > IAM > Service Account 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-iam#/policy/types/serviceAccountKeyServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: serviceAccountKey{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"created_by: {{ $.resource.metadata.createdBy | dump | safe }}\ndisabled: {{ $.resource.data.disabled | dump | safe }}\nemail: {{ $.resource.metadata.email | dump | safe }}\nkey_algorithm: {{ $.resource.data.keyAlgorithm | dump | safe }}\nkey_origin: {{ $.resource.data.keyOrigin | dump | safe }}\nkey_type: {{ $.resource.data.keyType | dump | safe }}\nprivate_key_data: {{ $.resource.data.privateKeyData | dump | safe }}\nprivate_key_type: {{ $.resource.data.privateKeyType | dump | safe }}\nproject_id: {{ $.resource.metadata.gcp.projectId | dump | safe }}\npublic_key_data: {{ $.resource.data.publicKeyData | dump | safe }}\nservice_account_key_name: {{ $.resource.data.name | dump | safe }}\nvalid_after_time: {{ $.resource.data.validAfterTime | dump | safe }}\nvalid_before_time: {{ $.resource.data.validBeforeTime | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > IAM > Service Account 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 > IAM > Service Account Key data will be stored, and the details of the columns used for archiving purposes.

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/serviceAccountKeyServiceNowConfigurationItemTableDefinition
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-iam#/policy/types/serviceAccountKeyServiceNowTableDefinition 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 > IAM > Service Account Key > ServiceNow > Table

Configure a Table for GCP > IAM > Service Account Key resource type in ServiceNow via the GCP > IAM > Service Account Key > ServiceNow > Table > * policies.

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

GCP > IAM > Service Account 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 > IAM > Service Account Key data.

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/serviceAccountKeyServiceNowTableDefinition
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_iam_serviceaccountkey",
"label": "GCP > IAM > Service Account Key",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "created_by",
"label": "Created By"
},
{
"name": "disabled",
"label": "Disabled",
"type": "boolean"
},
{
"name": "email",
"label": "Email"
},
{
"name": "key_algorithm",
"label": "Key Algorithm"
},
{
"name": "key_origin",
"label": "Key Origin"
},
{
"name": "key_type",
"label": "Key Type"
},
{
"name": "private_key_data",
"label": "Private Key Data"
},
{
"name": "private_key_type",
"label": "Private Key Type"
},
{
"name": "project_id",
"label": "Project ID"
},
{
"name": "public_key_data",
"label": "Public Key Data"
},
{
"name": "service_account_key_name",
"label": "Name"
},
{
"name": "valid_after_time",
"label": "Valid After Time"
},
{
"name": "valid_before_time",
"label": "Valid Before Time"
}
]
}
}

GCP > Project > Policy > ServiceNow

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/projectIamPolicyServiceNow
Targets

GCP > Project > Policy > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/projectIamPolicyServiceNowConfigurationItem
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 > Project > Policy > 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 > IAM > Project IAM Policy 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-iam#/policy/types/projectIamPolicyServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: projectIamPolicy{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"audit_log_configs: {{ $.resource.data.auditConfigs.auditLogConfigs | dump | safe }}\nbindings: {{ $.resource.data.bindings | dump | safe }}\netag: {{ $.resource.data.etag | dump | safe }}\nproject_id: {{ $.resource.metadata.gcp.projectId | dump | safe }}\nservice: {{ $.resource.data.auditConfigs.auditLogConfigs.service | dump | safe }}\nversion: {{ $.resource.data.version | dump | safe }}\n"
Schema
{
"type": "object"
}

GCP > Project > Policy > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/projectIamPolicyServiceNowConfigurationItemTableDefinition
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-iam#/policy/types/projectIamPolicyServiceNowTableDefinition 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 > Project > Policy > ServiceNow > Table

Configure a Table for GCP > IAM > Project IAM Policy resource type in ServiceNow via the GCP > IAM > Project IAM Policy > ServiceNow > Table > * policies.

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

GCP > Project > Policy > 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 > IAM > Project IAM Policy data.

URI
tmod:@turbot/servicenow-gcp-iam#/policy/types/projectIamPolicyServiceNowTableDefinition
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_iam_projectiampolicy",
"label": "GCP > IAM > Project IAM Policy",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "audit_log_configs",
"label": "Audit Log Configs",
"type": "array",
"size": 1000
},
{
"name": "bindings",
"label": "Bindings",
"type": "object",
"size": 1000
},
{
"name": "etag",
"label": "Etag"
},
{
"name": "project_id",
"label": "Project ID"
},
{
"name": "service",
"label": "Service"
},
{
"name": "version",
"label": "Version"
}
]
}
}