Policy types for @turbot/servicenow-aws-vpc-internet

AWS > VPC > Elastic IP > ServiceNow

URI
tmod:@turbot/servicenow-aws-vpc-internet#/policy/types/elasticIpServiceNow
Category
Targets

AWS > VPC > Elastic IP > ServiceNow > Configuration Item

Synchronize the data for the AWS > VPC > Elastic IP based on the policies AWS > VPC > Elastic IP > ServiceNow > Configuration Item > *

The policy ensures that AWS > VPC > Elastic IP data is automatically synchronized as Configuration Items (CIs) in a designated ServiceNow table, maintaining an up-to-date reflection of the AWS > VPC > Elastic IP information within the ServiceNow CMDB.

URI
tmod:@turbot/servicenow-aws-vpc-internet#/policy/types/elasticIpServiceNowConfigurationItem
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"
}

AWS > VPC > Elastic IP > 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 AWS > VPC > Elastic IP 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-aws-vpc-internet#/policy/types/elasticIpServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: elasticIp{\n data\n metadata\n turbot {\n akas\n id\n tags\n title\n }\n }\n}\n"
Default Template
"account_id: {{ $.resource.metadata.aws.accountId | dump | safe }}\nallocation_id: {{ $.resource.data.AllocationId | dump | safe }}\narn: {{ $.resource.turbot.akas[0] | dump | safe }}\ndomain: {{ $.resource.data.Domain | dump | safe }}\npublic_ip: {{ $.resource.data.PublicIp | dump | safe }}\nregion: {{ $.resource.metadata.aws.regionName | dump | safe }}\ntags: {{ $.resource.turbot.tags | dump | safe }}\n"
Schema
{
"type": "object"
}

AWS > VPC > Elastic IP > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-aws-vpc-internet#/policy/types/elasticIpServiceNowConfigurationItemTableDefinition
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-aws-vpc-internet#/policy/types/elasticIpServiceNowTableDefinition 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"
}
}
}

AWS > VPC > Elastic IP > ServiceNow > Table

Configure a table for AWS > VPC > Elastic IP resource type in ServiceNow via the AWS > VPC > Elastic IP > ServiceNow > Table > * policies.

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

AWS > VPC > Elastic IP > 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 AWS > VPC > Elastic IP data.

URI
tmod:@turbot/servicenow-aws-vpc-internet#/policy/types/elasticIpServiceNowTableDefinition
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_aws_vpc_internet_elasticip",
"label": "AWS > VPC > Elastic IP",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "account_id",
"label": "Account ID"
},
{
"name": "allocation_id",
"label": "Allocation ID"
},
{
"name": "arn",
"label": "ARN"
},
{
"name": "domain",
"label": "Domain"
},
{
"name": "public_ip",
"label": "Public IP"
},
{
"name": "region",
"label": "Region"
},
{
"name": "tags",
"label": "Tags",
"type": "string",
"size": 1000
}
]
}
}