Policy types for @turbot/servicenow-aws-rds

AWS > RDS > DB Cluster > ServiceNow

URI
tmod:@turbot/servicenow-aws-rds#/policy/types/dbClusterServiceNow
Category
Targets

AWS > RDS > DB Cluster > ServiceNow > Configuration Item

Synchronize the data for the AWS > RDS > DB Cluster based on the policies AWS > RDS > DB Cluster > ServiceNow > Configuration Item > *

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

URI
tmod:@turbot/servicenow-aws-rds#/policy/types/dbClusterServiceNowConfigurationItem
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 > RDS > DB Cluster > 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 > RDS > DB Cluster 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-rds#/policy/types/dbClusterServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: dbCluster{\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 }}\nallocated_storage: {{ $.resource.data.AllocatedStorage | dump | safe }}\narn: {{ $.resource.turbot.akas[0] | dump | safe }}\nassociated_roles: {{ $.resource.data.AssociatedRoles | dump | safe }}\navailability_zones: {{ $.resource.data.AvailabilityZones | dump | safe }}\nbackup_retention_period: {{ $.resource.data.BackupRetentionPeriod | dump | safe }}\ncreate_time: {{ $.resource.data.ClusterCreateTime | dump | safe }}\ndatabase_name: {{ $.resource.data.DatabaseName | dump | safe }}\ndb_cluster_identifier: {{ $.resource.data.DBClusterIdentifier | dump | safe }}\ndb_cluster_parameter_group: {{ $.resource.data.DBClusterParameterGroup | dump | safe }}\ndb_subnet_group: {{ $.resource.data.DBSubnetGroup | dump | safe }}\ndeletion_protection: {{ $.resource.data.DeletionProtection | dump | safe }}\nengine: {{ $.resource.data.Engine | dump | safe }}\nengine_mode: {{ $.resource.data.EngineMode | dump | safe }}\nengine_version: {{ $.resource.data.EngineVersion | dump | safe }}\nhttp_endpoint_enabled: {{ $.resource.data.HttpEndpointEnabled | dump | safe }}\niam_database_authentication_enabled: {{ $.resource.data.IAMDatabaseAuthenticationEnabled | dump | safe }}\nmulti_az: {{ $.resource.data.MultiAZ | dump | safe }}\nport: {{ $.resource.data.Port | dump | safe }}\npreferred_backup_window: {{ $.resource.data.PreferredBackupWindow | dump | safe }}\npreferred_maintenance_window: {{ $.resource.data.PreferredMaintenanceWindow | dump | safe }}\nregion: {{ $.resource.metadata.aws.regionName | dump | safe }}\nstatus: {{ $.resource.data.Status | dump | safe }}\nstorage_encrypted: {{ $.resource.data.StorageEncrypted | dump | safe }}\ntags: {{ $.resource.turbot.tags | dump | safe }}\n"
Schema
{
"type": "object"
}

AWS > RDS > DB Cluster > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-aws-rds#/policy/types/dbClusterServiceNowConfigurationItemTableDefinition
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-rds#/policy/types/dbClusterServiceNowTableDefinition 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 > RDS > DB Cluster > ServiceNow > Table

Configure a table for AWS > RDS > DB Cluster resource type in ServiceNow via the AWS > RDS > DB Cluster > ServiceNow > Table > * policies.

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

AWS > RDS > DB Cluster > 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 > RDS > DB Cluster data.

URI
tmod:@turbot/servicenow-aws-rds#/policy/types/dbClusterServiceNowTableDefinition
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_rds_dbcluster",
"label": "AWS > RDS > DB Cluster",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "account_id",
"label": "Account ID"
},
{
"name": "allocated_storage",
"label": "Allocated Storage",
"type": "integer"
},
{
"name": "arn",
"label": "ARN"
},
{
"name": "associated_roles",
"label": "Associated Roles",
"type": "string",
"size": 1000
},
{
"name": "availability_zones",
"label": "Availability Zones",
"type": "string",
"size": 1000
},
{
"name": "backup_retention_period",
"label": "Backup Retention Period"
},
{
"name": "create_time",
"label": "Create Time"
},
{
"name": "database_name",
"label": "Database Name"
},
{
"name": "db_cluster_identifier",
"label": "DB Cluster Identifier"
},
{
"name": "db_cluster_parameter_group",
"label": "DB Cluster Parameter Group"
},
{
"name": "db_subnet_group",
"label": "DB Subnet Group"
},
{
"name": "deletion_protection",
"label": "Deletion Protection",
"type": "boolean"
},
{
"name": "engine",
"label": "Engine"
},
{
"name": "engine_mode",
"label": "Engine Mode"
},
{
"name": "engine_version",
"label": "Engine Version"
},
{
"name": "http_endpoint_enabled",
"label": "HTTP Endpoint Enabled",
"type": "boolean"
},
{
"name": "iam_database_authentication_enabled",
"label": "IAM Database Authentication Enabled",
"type": "boolean"
},
{
"name": "multi_az",
"label": "Multi AZ",
"type": "boolean"
},
{
"name": "port",
"label": "Port"
},
{
"name": "preferred_backup_window",
"label": "Preferred Backup Window"
},
{
"name": "preferred_maintenance_window",
"label": "Preferred Maintenance Window"
},
{
"name": "region",
"label": "Region"
},
{
"name": "status",
"label": "Status"
},
{
"name": "storage_encrypted",
"label": "Storage Encrypted",
"type": "boolean"
},
{
"name": "tags",
"label": "Tags",
"type": "string",
"size": 1000
}
]
}
}

AWS > RDS > DB Instance > ServiceNow

URI
tmod:@turbot/servicenow-aws-rds#/policy/types/dbInstanceServiceNow
Category
Targets

AWS > RDS > DB Instance > ServiceNow > Configuration Item

Synchronize the data for the AWS > RDS > DB Instance based on the policies AWS > RDS > DB Instance > ServiceNow > Configuration Item > *

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

URI
tmod:@turbot/servicenow-aws-rds#/policy/types/dbInstanceServiceNowConfigurationItem
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 > RDS > DB 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 AWS > RDS > DB 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-aws-rds#/policy/types/dbInstanceServiceNowConfigurationItemRecord
Default Template Input
"{\n resource: dbInstance{\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 }}\nallocated_storage: {{ $.resource.data.AllocatedStorage | dump | safe }}\narn: {{ $.resource.turbot.akas[0] | dump | safe }}\nauto_minor_version_upgrade: {{ $.resource.data.AutoMinorVersionUpgrade | dump | safe }}\navailability_zone: {{ $.resource.data.AvailabilityZone | dump | safe }}\nbackup_retention_period: {{ $.resource.data.BackupRetentionPeriod | dump | safe }}\ncertificate: {{ $.resource.data.CertificateDetails | dump | safe }}\ndb_instance_identifier: {{ $.resource.data.DBInstanceIdentifier | dump | safe }}\ndb_security_groups: {{ $.resource.data.DBSecurityGroups | dump | safe }}\ndb_subnet_group_name: {{ $.resource.data.DBSubnetGroup.DBSubnetGroupName | dump | safe }}\ndeletion_protection: {{ $.resource.data.DeletionProtection | dump | safe }}\nengine: {{ $.resource.data.Engine | dump | safe }}\nengine_version: {{ $.resource.data.EngineVersion | dump | safe }}\niam_database_authentication_enabled: {{ $.resource.data.IAMDatabaseAuthenticationEnabled | dump | safe }}\nlicense_model: {{ $.resource.data.LicenseModel | dump | safe }}\nmax_allocated_storage: {{ $.resource.data.MaxAllocatedStorage | dump | safe }}\nmonitoring_interval: {{ $.resource.data.MonitoringInterval | dump | safe }}\nmulti_az: {{ $.resource.data.MultiAZ | dump | safe }}\npreferred_backup_window: {{ $.resource.data.PreferredBackupWindow | dump | safe }}\npreferred_maintenance_window: {{ $.resource.data.PreferredMaintenanceWindow | dump | safe }}\nregion: {{ $.resource.metadata.aws.regionName | dump | safe }}\nstorage_type: {{ $.resource.data.StorageType | dump | safe }}\ntags: {{ $.resource.turbot.tags | dump | safe }}\nvpc_security_groups: {{ $.resource.data.VpcSecurityGroups | dump | safe }}\n"
Schema
{
"type": "object"
}

AWS > RDS > DB Instance > ServiceNow > Configuration Item > Table Definition

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

URI
tmod:@turbot/servicenow-aws-rds#/policy/types/dbInstanceServiceNowConfigurationItemTableDefinition
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-rds#/policy/types/dbInstanceServiceNowTableDefinition 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 > RDS > DB Instance > ServiceNow > Table

Configure a table for AWS > RDS > DB Instance resource type in ServiceNow via the AWS > RDS > DB Instance > ServiceNow > Table > * policies.

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

AWS > RDS > DB 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 AWS > RDS > DB Instance data.

URI
tmod:@turbot/servicenow-aws-rds#/policy/types/dbInstanceServiceNowTableDefinition
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_rds_dbinstance",
"label": "AWS > RDS > DB Instance",
"extendsTable": "cmdb_ci"
},
"columns": [
{
"name": "account_id",
"label": "Account ID"
},
{
"name": "allocated_storage",
"label": "Allocated Storage",
"type": "integer"
},
{
"name": "arn",
"label": "ARN"
},
{
"name": "auto_minor_version_upgrade",
"label": "Auto Minor Version Upgrade",
"type": "boolean"
},
{
"name": "availability_zone",
"label": "Availability Zone"
},
{
"name": "backup_retention_period",
"label": "Backup Retention Period"
},
{
"name": "certificate",
"label": "Certificate",
"type": "string",
"size": 1000
},
{
"name": "db_instance_identifier",
"label": "DB Instance Identifier"
},
{
"name": "db_security_groups",
"label": "DB Security Groups",
"type": "string",
"size": 1000
},
{
"name": "db_subnet_group_name",
"label": "DB Subnet Group Name"
},
{
"name": "deletion_protection",
"label": "Deletion Protection",
"type": "boolean"
},
{
"name": "engine",
"label": "Engine"
},
{
"name": "engine_version",
"label": "Engine Version"
},
{
"name": "iam_database_authentication_enabled",
"label": "IAM Database Authentication Enabled",
"type": "boolean"
},
{
"name": "license_model",
"label": "License Model"
},
{
"name": "max_allocated_storage",
"label": "Max Allocated Storage",
"type": "integer"
},
{
"name": "monitoring_interval",
"label": "Monitoring Interval"
},
{
"name": "multi_az",
"label": "Multi Az",
"type": "boolean"
},
{
"name": "preferred_backup_window",
"label": "Preferred Backup Window"
},
{
"name": "preferred_maintenance_window",
"label": "Preferred Maintenance Window"
},
{
"name": "region",
"label": "Region"
},
{
"name": "storage_type",
"label": "Storage Type"
},
{
"name": "tags",
"label": "Tags",
"type": "string",
"size": 1000
},
{
"name": "vpc_security_groups",
"label": "VPC Security Groups",
"type": "string",
"size": 1000
}
]
}
}