Policy types for @turbot/servicenow-azure-storage

Azure > Storage > Container > ServiceNow

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/containerServiceNow
Targets

Azure > Storage > Container > ServiceNow > Configuration Item

Synchronize the data for the Azure > Storage > Container based on the policies Azure > Storage > Container > 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 Azure > Storage > Container information within the ServiceNow CMDB.

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/containerServiceNowConfigurationItem
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"
}

Azure > Storage > Container > 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 Azure > Storage > Container 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-azure-storage#/policy/types/containerServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: container{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"account_name: {{ $.resource.metadata.accountName | dump | safe }}\ncontainer_name: {{ $.resource.data.name | dump | safe }}\ndefault_encryption_scope: {{ $.resource.data.defaultEncryptionScope | dump | safe }}\ndeleted: {{ $.resource.deleted | dump | safe }}\ndeny_encryption_scope_override: {{ $.resource.data.denyEncryptionScopeOverride | dump | safe }}\nhas_immutability_policy: {{ $.resource.data.hasImmutabilityPolicy | dump | safe }}\nhas_legal_hold: {{ $.resource.data.hasLegalHold | dump | safe }}\nid: {{ $.resource.data.id | dump | safe }}\nimmutability_policy: {{ $.resource.data.immutabilityPolicy | dump | safe }}\nlast_modified_time: {{ $.resource.data.lastModifiedTime | dump | safe }}\nlease_duration: {{ $.resource.data.leaseDuration | dump | safe }}\nlease_state: {{ $.resource.data.leaseState | dump | safe }}\nlease_status: {{ $.resource.data.leaseStatus | dump | safe }}\nlegal_hold: {{ $.resource.data.legalHold | dump | safe }}\nmetadata: {{ $.resource.data.metadata | dump | safe }}\npublic_access: {{ $.resource.data.publicAccess | dump | safe }}\nremaining_retention_days: {{ $.resource.data.remainingRetentionDays | dump | safe }}\nresource_group: {{ $.resource.metadata.azure.resourceGroupName | dump | safe }}\nsubscription_id: {{ $.resource.metadata.azure.subscriptionId | dump | safe }}\ntype: {{ $.resource.data.type | dump | safe }}\n"
Schema
{
"type": "object"
}

Azure > Storage > Container > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/containerServiceNowConfigurationItemTableDefinition
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-azure-storage#/policy/types/containerServiceNowTableDefinition 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"
}
}
}

Azure > Storage > Container > ServiceNow > Table

Configure a Table for Azure > Storage > Container resource type in ServiceNow via the Azure > Storage > Container > ServiceNow > Table > * policies.

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

Azure > Storage > Container > 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 Azure > Storage > Container data.

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/containerServiceNowTableDefinition
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_azure_storage_container",
"label": "Azure > Storage > Container",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "account_name",
"label": "Account Name"
},
{
"name": "container_name",
"label": "Name"
},
{
"name": "default_encryption_scope",
"label": "Default Encryption Scope"
},
{
"name": "deleted",
"label": "Deleted",
"type": "boolean"
},
{
"name": "deny_encryption_scope_override",
"label": "Deny Encryption Scope Override",
"type": "boolean"
},
{
"name": "has_immutability_policy",
"label": "Has Immutability Policy",
"type": "boolean"
},
{
"name": "has_legal_hold",
"label": "Has Legal Hold",
"type": "boolean"
},
{
"name": "id",
"label": "ID"
},
{
"name": "immutability_policy",
"label": "Immutability Policy",
"type": "string",
"size": 1000
},
{
"name": "last_modified_time",
"label": "Last Modified Time"
},
{
"name": "lease_duration",
"label": "Lease Duration"
},
{
"name": "lease_state",
"label": "Lease State"
},
{
"name": "lease_status",
"label": "Lease Status"
},
{
"name": "legal_hold",
"label": "Legal Hold",
"type": "string",
"size": 1000
},
{
"name": "metadata",
"label": "Metadata",
"type": "string",
"size": 1000
},
{
"name": "public_access",
"label": "Public Access"
},
{
"name": "remaining_retention_days",
"label": "Remaining Retention Days"
},
{
"name": "resource_group",
"label": "Resource Group"
},
{
"name": "subscription_id",
"label": "Subscription ID"
},
{
"name": "type",
"label": "Type"
}
]
}
}

Azure > Storage > FileShare > ServiceNow

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/fileShareServiceNow
Targets

Azure > Storage > FileShare > ServiceNow > Configuration Item

Synchronize the data for the Azure > Storage > FileShare based on the policies Azure > Storage > FileShare > 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 Azure > Storage > FileShare information within the ServiceNow CMDB.

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/fileShareServiceNowConfigurationItem
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"
}

Azure > Storage > FileShare > 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 Azure > Storage > FileShare 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-azure-storage#/policy/types/fileShareServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: fileShare{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"access_tier: {{ $.resource.data.accessTier | dump | safe }}\naccess_tier_change_time: {{ $.resource.data.accessTierChangeTime | dump | safe }}\nfile_share_name: {{ $.resource.data.name | dump | safe }}\nid: {{ $.resource.data.id | dump | safe }}\nlast_modified_time: {{ $.resource.data.lastModifiedTime | dump | safe }}\nmetadata: {{ $.resource.data.metadata | dump | safe }}\nresource_group: {{ $.resource.metadata.azure.resourceGroupName | dump | safe }}\nshare_quota: {{ $.resource.data.shareQuota | dump | safe }}\nstorage_account_name: {{ $.resource.metadata.accountName | dump | safe }}\nsubscription_id: {{ $.resource.metadata.azure.subscriptionId | dump | safe }}\ntype: {{ $.resource.data.type | dump | safe }}\n"
Schema
{
"type": "object"
}

Azure > Storage > FileShare > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/fileShareServiceNowConfigurationItemTableDefinition
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-azure-storage#/policy/types/fileShareServiceNowTableDefinition 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"
}
}
}

Azure > Storage > FileShare > ServiceNow > Table

Configure a Table for Azure > Storage > FileShare resource type in ServiceNow via the Azure > Storage > FileShare > ServiceNow > Table > * policies.

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

Azure > Storage > FileShare > 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 Azure > Storage > FileShare data.

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/fileShareServiceNowTableDefinition
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_azure_storage_fileshare",
"label": "Azure > Storage > FileShare",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "access_tier",
"label": "Access Tier"
},
{
"name": "access_tier_change_time",
"label": "Access Tier Change Time"
},
{
"name": "file_share_name",
"label": "Name"
},
{
"name": "id",
"label": "ID"
},
{
"name": "last_modified_time",
"label": "Last Modified Time"
},
{
"name": "metadata",
"label": "Metadata",
"type": "string",
"size": 1000
},
{
"name": "resource_group",
"label": "Resource Group"
},
{
"name": "share_quota",
"label": "Share Quota"
},
{
"name": "storage_account_name",
"label": "Storage Account Name"
},
{
"name": "subscription_id",
"label": "Subscription ID"
},
{
"name": "type",
"label": "Type"
}
]
}
}

Azure > Storage > Queue > ServiceNow

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/queueServiceNow
Targets

Azure > Storage > Queue > ServiceNow > Configuration Item

Synchronize the data for the Azure > Storage > Queue based on the policies Azure > Storage > Queue > 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 Azure > Storage > Queue information within the ServiceNow CMDB.

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/queueServiceNowConfigurationItem
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"
}

Azure > Storage > Queue > 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 Azure > Storage > Queue 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-azure-storage#/policy/types/queueServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: queue{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"id: {{ $.resource.data.id | dump | safe }}\nmetadata: {{ $.resource.data.metadata | dump | safe }}\nqueue_name: {{ $.resource.data.name | dump | safe }}\nresource_group: {{ $.resource.metadata.azure.resourceGroupName | dump | safe }}\nstorage_account_name: {{ $.resource.metadata.accountName | dump | safe }}\nsubscription_id: {{ $.resource.metadata.azure.subscriptionId | dump | safe }}\ntype: {{ $.resource.data.type | dump | safe }}\n"
Schema
{
"type": "object"
}

Azure > Storage > Queue > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/queueServiceNowConfigurationItemTableDefinition
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-azure-storage#/policy/types/queueServiceNowTableDefinition 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"
}
}
}

Azure > Storage > Queue > ServiceNow > Table

Configure a Table for Azure > Storage > Queue resource type in ServiceNow via the Azure > Storage > Queue > ServiceNow > Table > * policies.

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

Azure > Storage > Queue > 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 Azure > Storage > Queue data.

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/queueServiceNowTableDefinition
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_azure_storage_queue",
"label": "Azure > Storage > Queue",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "id",
"label": "ID"
},
{
"name": "metadata",
"label": "Metadata",
"type": "string",
"size": 1000
},
{
"name": "queue_name",
"label": "Name"
},
{
"name": "resource_group",
"label": "Resource Group"
},
{
"name": "storage_account_name",
"label": "Storage Account Name"
},
{
"name": "subscription_id",
"label": "Subscription ID"
},
{
"name": "type",
"label": "Type"
}
]
}
}

Azure > Storage > Storage Account > ServiceNow

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/storageAccountServiceNow
Targets

Azure > Storage > Storage Account > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/storageAccountServiceNowConfigurationItem
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"
}

Azure > Storage > Storage 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 Azure > Storage > Storage 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-azure-storage#/policy/types/storageAccountServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: storageAccount{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"access_tier: {{ $.resource.data.accessTier | dump | safe }}\nallow_blob_public_access: {{ $.resource.data.allowBlobPublicAccess | dump | safe }}\ncreation_time: {{ $.resource.data.creationTime | dump | safe }}\nenable_https_traffic_only: {{ $.resource.data.enableHttpsTrafficOnly | dump | safe }}\nencryption_key_source: {{ $.resource.data.encryption.keySource | dump | safe }}\nencryption_key_vault_properties_key_name: {{ $.resource.data.encryption.keyvaultproperties.keyname | dump | safe }}\nencryption_key_vault_properties_key_vault_uri: {{ $.resource.data.encryption.keyvaultproperties.keyvaulturi | dump | safe }}\nencryption_key_vault_properties_key_version: {{ $.resource.data.encryption.keyvaultproperties.keyversion | dump | safe }}\nencryption_key_vault_properties_last_rotation_time: {{ $.resource.data.encryption.keyvaultproperties.lastKeyRotationTimestamp | dump | safe }}\nencryption_services: {{ $.resource.data.encryption.services | dump | safe }}\nid: {{ $.resource.data.id | dump | safe }}\nminimum_tls_version: {{ $.resource.data.minimumTlsVersion | dump | safe }}\nnetwork_ip_rules: {{ $.resource.data.networkRuleSet.ipRules | dump | safe }}\nnetwork_rule_bypass: {{ $.resource.data.networkRuleSet.bypass | dump | safe }}\nnetwork_rule_default_action: {{ $.resource.data.networkRuleSet.defaultAction | dump | safe }}\nprimary_blob_endpoint: {{ $.resource.data.primaryEndpoints.blob | dump | safe }}\nprimary_dfs_endpoint: {{ $.resource.data.primaryEndpoints.dfs | dump | safe }}\nprimary_file_endpoint: {{ $.resource.data.primaryEndpoints.file | dump | safe }}\nprimary_location: {{ $.resource.data.primaryLocation | dump | safe }}\nprimary_queue_endpoint: {{ $.resource.data.primaryEndpoints.queue | dump | safe }}\nprimary_table_endpoint: {{ $.resource.data.primaryEndpoints.table | dump | safe }}\nprimary_web_endpoint: {{ $.resource.data.primaryEndpoints.web | dump | safe }}\nprivate_endpoint_connections: {{ $.resource.data.privateEndpointConnections | dump | safe }}\nprovisioning_state: {{ $.resource.data.provisioningState | dump | safe }}\nregion: {{ $.resource.data.location | dump | safe }}\nresource_group: {{ $.resource.metadata.azure.resourceGroupName | dump | safe }}\nsecondary_location: {{ $.resource.data.secondaryLocation | dump | safe }}\nsku_name: {{ $.resource.data.sku.name | dump | safe }}\nsku_tier: {{ $.resource.data.sku.tier | dump | safe }}\nstatus_of_primary: {{ $.resource.data.statusOfPrimary | dump | safe }}\nstatus_of_secondary: {{ $.resource.data.statusOfSecondary | dump | safe }}\nstorage_account_name: {{ $.resource.data.name | dump | safe }}\nsubscription_id: {{ $.resource.metadata.azure.subscriptionId | dump | safe }}\ntags: {{ $.resource.turbot.tags | dump | safe }}\ntype: {{ $.resource.data.type | dump | safe }}\nvirtual_network_rules: {{ $.resource.data.networkRuleSet.virtualNetworkRules | dump | safe }}\n"
Schema
{
"type": "object"
}

Azure > Storage > Storage Account > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/storageAccountServiceNowConfigurationItemTableDefinition
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-azure-storage#/policy/types/storageAccountServiceNowTableDefinition 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"
}
}
}

Azure > Storage > Storage Account > ServiceNow > Import Set

Synchronize the data for the Azure > Storage > Storage Account based on the Azure > Storage > Storage Account > ServiceNow > Import Set > * policies.

The policy ensures that Azure > Storage > Storage Account data is automatically sent through import sets, which then triggers transformations based on predefined transform maps in the import set table.

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/storageAccountServiceNowImportSet
Valid Value
[
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
]
Schema
{
"type": "string",
"enum": [
"Skip",
"Enforce: Sync",
"Enforce: Sync, archive on delete"
],
"example": [
"Skip"
],
"default": "Skip"
}

Azure > Storage > Storage Account > ServiceNow > Import Set > Archive Columns

This policy specifically allows users to define the details of the columns used for archiving purposes.

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/storageAccountServiceNowImportSetArchiveColumns
Schema
{
"type": "object",
"default": {}
}

Azure > Storage > Storage Account > ServiceNow > Import Set > 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 Azure > Storage > Storage 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-azure-storage#/policy/types/storageAccountServiceNowImportSetRecord
Default Template Input
"{\n resource: storageAccount{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"access_tier: {{ $.resource.data.accessTier | dump | safe }}\nallow_blob_public_access: {{ $.resource.data.allowBlobPublicAccess | dump | safe }}\ncreation_time: {{ $.resource.data.creationTime | dump | safe }}\nenable_https_traffic_only: {{ $.resource.data.enableHttpsTrafficOnly | dump | safe }}\nencryption_key_source: {{ $.resource.data.encryption.keySource | dump | safe }}\nencryption_key_vault_properties_key_name: {{ $.resource.data.encryption.keyvaultproperties.keyname | dump | safe }}\nencryption_key_vault_properties_key_vault_uri: {{ $.resource.data.encryption.keyvaultproperties.keyvaulturi | dump | safe }}\nencryption_key_vault_properties_key_version: {{ $.resource.data.encryption.keyvaultproperties.keyversion | dump | safe }}\nencryption_key_vault_properties_last_rotation_time: {{ $.resource.data.encryption.keyvaultproperties.lastKeyRotationTimestamp | dump | safe }}\nencryption_services: {{ $.resource.data.encryption.services | dump | safe }}\nid: {{ $.resource.data.id | dump | safe }}\nminimum_tls_version: {{ $.resource.data.minimumTlsVersion | dump | safe }}\nnetwork_ip_rules: {{ $.resource.data.networkRuleSet.ipRules | dump | safe }}\nnetwork_rule_bypass: {{ $.resource.data.networkRuleSet.bypass | dump | safe }}\nnetwork_rule_default_action: {{ $.resource.data.networkRuleSet.defaultAction | dump | safe }}\nprimary_blob_endpoint: {{ $.resource.data.primaryEndpoints.blob | dump | safe }}\nprimary_dfs_endpoint: {{ $.resource.data.primaryEndpoints.dfs | dump | safe }}\nprimary_file_endpoint: {{ $.resource.data.primaryEndpoints.file | dump | safe }}\nprimary_location: {{ $.resource.data.primaryLocation | dump | safe }}\nprimary_queue_endpoint: {{ $.resource.data.primaryEndpoints.queue | dump | safe }}\nprimary_table_endpoint: {{ $.resource.data.primaryEndpoints.table | dump | safe }}\nprimary_web_endpoint: {{ $.resource.data.primaryEndpoints.web | dump | safe }}\nprivate_endpoint_connections: {{ $.resource.data.privateEndpointConnections | dump | safe }}\nprovisioning_state: {{ $.resource.data.provisioningState | dump | safe }}\nregion: {{ $.resource.data.location | dump | safe }}\nresource_type_uri: "tmod:@turbot/azure-storage#/resource/types/storageAccount"\nresource_group: {{ $.resource.metadata.azure.resourceGroupName | dump | safe }}\nsecondary_location: {{ $.resource.data.secondaryLocation | dump | safe }}\nsku_name: {{ $.resource.data.sku.name | dump | safe }}\nsku_tier: {{ $.resource.data.sku.tier | dump | safe }}\nstatus_of_primary: {{ $.resource.data.statusOfPrimary | dump | safe }}\nstatus_of_secondary: {{ $.resource.data.statusOfSecondary | dump | safe }}\nstorage_account_name: {{ $.resource.data.name | dump | safe }}\nsubscription_id: {{ $.resource.metadata.azure.subscriptionId | dump | safe }}\ntags: {{ $.resource.turbot.tags | dump | safe }}\ntype: {{ $.resource.data.type | dump | safe }}\nvirtual_network_rules: {{ $.resource.data.networkRuleSet.virtualNetworkRules | dump | safe }}\n"
Schema
{
"type": "object"
}

Azure > Storage > Storage Account > ServiceNow > Import Set > Table Name

This policy specifically allows users to define the name of the ServiceNow staging table where the Azure > Storage > Storage Account import set record will be sent.

It defaults to ServiceNow > Import Set > Table Name [Default] policy.

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/storageAccountServiceNowImportSetTableName
Default Template Input
"{\n defaultTableName: policy(uri:\"tmod:@turbot/servicenow#/policy/types/serviceNowImportSetTableNameDefault\")\n}\n"
Default Template
"{{ $.defaultTableName }}\n"
Schema
{
"type": "string"
}

Azure > Storage > Storage Account > ServiceNow > Table

Configure a Table for Azure > Storage > Storage Account resource type in ServiceNow via the Azure > Storage > Storage Account > ServiceNow > Table > * policies.

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

Azure > Storage > Storage 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 Azure > Storage > Storage Account data.

URI
tmod:@turbot/servicenow-azure-storage#/policy/types/storageAccountServiceNowTableDefinition
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_azure_storage_storageaccount",
"label": "Azure > Storage > Storage Account",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "access_tier",
"label": "Access Tier"
},
{
"name": "allow_blob_public_access",
"label": "Allow Blob Public Access",
"type": "boolean"
},
{
"name": "creation_time",
"label": "Creation Time"
},
{
"name": "enable_https_traffic_only",
"label": "Enable HTTPS Traffic Only",
"type": "boolean"
},
{
"name": "encryption_key_source",
"label": "Encryption Key Source"
},
{
"name": "encryption_key_vault_properties_key_name",
"label": "Encryption Key Vault Properties Key Name"
},
{
"name": "encryption_key_vault_properties_key_vault_uri",
"label": "Encryption Key Vault Properties Key Vault URI"
},
{
"name": "encryption_key_vault_properties_key_version",
"label": "Encryption Key Vault Properties Key Version"
},
{
"name": "encryption_key_vault_properties_last_rotation_time",
"label": "Encryption Key Vault Properties Last Rotation Time"
},
{
"name": "encryption_services",
"label": "Encryption Services",
"type": "string",
"size": 1000
},
{
"name": "id",
"label": "ID"
},
{
"name": "minimum_tls_version",
"label": "Minimum TLS Version"
},
{
"name": "network_ip_rules",
"label": "Network IP Rules",
"type": "string",
"size": 1000
},
{
"name": "network_rule_bypass",
"label": "Network Rule Bypass"
},
{
"name": "network_rule_default_action",
"label": "Network Rule Default Action"
},
{
"name": "primary_blob_endpoint",
"label": "Primary Blob Endpoint"
},
{
"name": "primary_dfs_endpoint",
"label": "Primary DFS Endpoint"
},
{
"name": "primary_file_endpoint",
"label": "Primary File Endpoint"
},
{
"name": "primary_location",
"label": "Primary Location"
},
{
"name": "primary_queue_endpoint",
"label": "Primary Queue Endpoint"
},
{
"name": "primary_table_endpoint",
"label": "Primary Table Endpoint"
},
{
"name": "primary_web_endpoint",
"label": "Primary Web Endpoint"
},
{
"name": "private_endpoint_connections",
"label": "Private Endpoint Connections",
"type": "string",
"size": 1000
},
{
"name": "provisioning_state",
"label": "Provisioning State"
},
{
"name": "region",
"label": "Region"
},
{
"name": "resource_group",
"label": "Resource Group",
"type": "string",
"size": 200
},
{
"name": "secondary_location",
"label": "Secondary Location"
},
{
"name": "sku_name",
"label": "SKU Name"
},
{
"name": "sku_tier",
"label": "SKU Tier"
},
{
"name": "status_of_primary",
"label": "Status Of Primary"
},
{
"name": "status_of_secondary",
"label": "Status Of Secondary"
},
{
"name": "storage_account_name",
"label": "Storage Account Name"
},
{
"name": "subscription_id",
"label": "Subscription ID"
},
{
"name": "tags",
"label": "Tags",
"type": "string",
"size": 1000
},
{
"name": "type",
"label": "Type"
},
{
"name": "virtual_network_rules",
"label": "Virtual Network Rules",
"type": "string",
"size": 1000
}
]
}
}