Policy types for @turbot/servicenow-azure-applicationgateway

Azure > Application Gateway Service > Application Gateway > ServiceNow

URI
tmod:@turbot/servicenow-azure-applicationgateway#/policy/types/applicationGatewayServiceNow
Targets

Azure > Application Gateway Service > Application Gateway > ServiceNow > Configuration Item

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

URI
tmod:@turbot/servicenow-azure-applicationgateway#/policy/types/applicationGatewayServiceNowConfigurationItem
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 > Application Gateway Service > Application Gateway > 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 > Application Gateway Service > Application Gateway 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-applicationgateway#/policy/types/applicationGatewayServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: applicationGateway{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"application_gateway_name: {{ $.resource.data.applicationGatewayName | dump | safe }}\nbackend_address_pools: {{ $.resource.data.backendAddressPools | dump | safe }}\nbackend_http_settings_collection: {{ $.resource.data.backendHttpSettingsCollection | dump | safe }}\ncustom_error_configurations: {{ $.resource.data.customErrorConfigurations | dump | safe }}\nenable_fips: {{ $.resource.data.enableFips | dump | safe }}\nenable_http2: {{ $.resource.data.enableHttp2 | dump | safe }}\nfrontend_ip_configurations: {{ $.resource.data.frontendIPConfigurations | dump | safe }}\nfrontend_ports: {{ $.resource.data.frontendPorts | dump | safe }}\ngateway_ip_configurations: {{ $.resource.data.gatewayIPConfigurations | dump | safe }}\nhttp_listeners: {{ $.resource.data.httpListeners | dump | safe }}\nid: {{ $.resource.data.id | dump | safe }}\noperational_state: {{ $.resource.data.operationalState | dump | safe }}\nprovisioning_state: {{ $.resource.data.provisioningState | dump | safe }}\nredirect_configurations: {{ $.resource.data.redirectConfigurations | dump | safe }}\nregion: {{ $.resource.data.location | dump | safe }}\nrequest_routing_rules: {{ $.resource.data.requestRoutingRules | dump | safe }}\nresource_group: {{ $.resource.metadata.azure.resourceGroupName | dump | safe }}\nresource_guid: {{ $.resource.data.resourceGuid | dump | safe }}\nrewrite_rule_sets: {{ $.resource.data.rewriteRuleSets | dump | safe }}\nsku: {{ $.resource.data.sku | dump | safe }}\nssl_certificates: {{ $.resource.data.sslCertificates | dump | safe }}\nssl_policy: {{ $.resource.data.sslPolicy | dump | safe }}\nssl_profiles: {{ $.resource.data.sslProfiles | dump | safe }}\nsubscription_id: {{ $.resource.metadata.azure.subscriptionId | dump | safe }}\ntags: {{ $.resource.turbot.tags | dump | safe }}\ntype: {{ $.resource.data.type | dump | safe }}\nurl_path_maps: {{ $.resource.data.urlPathMaps | dump | safe }}\n"
Schema
{
"type": "object"
}

Azure > Application Gateway Service > Application Gateway > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-azure-applicationgateway#/policy/types/applicationGatewayServiceNowConfigurationItemTableDefinition
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-applicationgateway#/policy/types/applicationGatewayServiceNowTableDefinition 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 > Application Gateway Service > Application Gateway > ServiceNow > Table

Configure a Table for Azure > Application Gateway Service > Application Gateway resource type in ServiceNow via the Azure > Application Gateway Service > Application Gateway > ServiceNow > Table > * policies.

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

Azure > Application Gateway Service > Application Gateway > 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 > Application Gateway Service > Application Gateway data.

URI
tmod:@turbot/servicenow-azure-applicationgateway#/policy/types/applicationGatewayServiceNowTableDefinition
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_applicationgateway_applicationgateway",
"label": "Azure > Application Gateway Service > Application Gateway",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "application_gateway_name",
"label": "Application Gateway Name"
},
{
"name": "backend_address_pools",
"label": "Backend Address Pools",
"type": "string",
"size": 1000
},
{
"name": "backend_http_settings_collection",
"label": "Backend HTTP Settings Collection",
"type": "string",
"size": 1000
},
{
"name": "custom_error_configurations",
"label": "Custom Error Configurations",
"type": "string",
"size": 1000
},
{
"name": "enable_fips",
"label": "Enable FIPS",
"type": "boolean"
},
{
"name": "enable_http2",
"label": "Enable HTTP2",
"type": "boolean"
},
{
"name": "frontend_ip_configurations",
"label": "Frontend IP Configurations",
"type": "string",
"size": 1000
},
{
"name": "frontend_ports",
"label": "Frontend Ports",
"type": "string",
"size": 1000
},
{
"name": "gateway_ip_configurations",
"label": "Gateway IP Configurations",
"type": "string",
"size": 1000
},
{
"name": "http_listeners",
"label": "Http Listeners",
"type": "string",
"size": 1000
},
{
"name": "id",
"label": "ID"
},
{
"name": "operational_state",
"label": "Operational State"
},
{
"name": "provisioning_state",
"label": "Provisioning State"
},
{
"name": "redirect_configurations",
"label": "Redirect Configurations",
"type": "string",
"size": 1000
},
{
"name": "region",
"label": "Region"
},
{
"name": "request_routing_rules",
"label": "Request Routing Rules",
"type": "string",
"size": 2000
},
{
"name": "resource_group",
"label": "Resource Group",
"type": "string",
"size": 200
},
{
"name": "resource_guid",
"label": "Resource GUID"
},
{
"name": "rewrite_rule_sets",
"label": "Rewrite Rule Sets",
"type": "string",
"size": 1000
},
{
"name": "sku",
"label": "SKU",
"type": "string",
"size": 1000
},
{
"name": "ssl_certificates",
"label": "SSL Certificates",
"type": "string",
"size": 1000
},
{
"name": "ssl_policy",
"label": "SSL Policy",
"type": "string",
"size": 1000
},
{
"name": "ssl_profiles",
"label": "SSL Profiles",
"type": "string",
"size": 1000
},
{
"name": "subscription_id",
"label": "Subscription ID"
},
{
"name": "tags",
"label": "Tags",
"type": "string",
"size": 1000
},
{
"name": "type",
"label": "Type"
},
{
"name": "url_path_maps",
"label": "URL Path Maps",
"type": "string",
"size": 1000
}
]
}
}