System data mapping
This page describes how data retrieved from the source service is mapped into records generated by the connector.
For each record type, the following information is reported:
- the property name exposed by the connector;
- the path from which the value is obtained in the source service;
- any additional note regarding transformations, enrichments or special behaviours.
Each record mapping section is titled {Source Object Name} ({_type}), combining the object name used by the source service with the internal record type produced by the connector.
Common properties
Almost all the records share the following properties.
| Property name | Source path | Notes |
|---|---|---|
| id | selfLink | Unique identifier of the object in Google Cloud (usually its selfLink; the project id for project). |
| name | name | For project it is the displayName. |
| project | - | Record Id of the related project. |
Notes
usage_rel,machinetypeandsqltierdo not have theprojectproperty.machinetypeandsqltierdo not have theidproperty either, they are identified byname.diskhas nonameandnetworkinterfacehas noid: the latter is identified by the pair (instance,name).- Where present, the
descriptionproperty is thedescriptionof the source object, andlabelsis the map of the labels of the source object converted to JSON. - The properties
state,statusand the other properties that are mapped to CMDBuild lookups are normalized by the preprocessing into a<property>_lkvalue, obtained by trimming the value, removing the_characters and converting it to lowercase (e.g.RUNNINGbecomesrunning). Where a note below mentions a value replacement, it is applied before the normalization.
Resource Manager
Project (project)
A Google Cloud project, the root context to which all the other records are related.
| Property name | Source path | Notes |
|---|---|---|
| id | projectId | |
| name | displayName | |
| state | state | Name of the enum value. Normalized to state_lk. |
| labels | labels | Transformed to JSON. |
Only the projects visible to the service account that satisfy the Projects and Excluded projects configuration are extracted.
Compute Engine
Instance (computeinstance)
A Compute Engine virtual machine.
| Property name | Source path | Notes |
|---|---|---|
| description | description | |
| status | status | TERMINATED is replaced with STOPPED. Normalized to status_lk. |
| location | key of the aggregated list scope | Last token of the scope (zone). |
| machine_type | machineType | Last token of the URL. |
| cpu_platform | cpuPlatform | |
| cpus | machinetype.cpus | Added by the preprocessing. For custom machine types (<family>-custom-<cpus>-<memory MB>) it is parsed from the machine type name. |
| memory | machinetype.memory | In GB. Added by the preprocessing. For custom machine types it is parsed from the machine type name and converted from MB. |
| tags | tags.items | Transformed to JSON. |
| labels | labels | Transformed to JSON. |
AttachedDisk (disk)
A disk attached to a Compute Engine instance. One record is created for each disk of each instance.
| Property name | Source path | Notes |
|---|---|---|
| id | disks[].source | |
| device_name | disks[].deviceName | |
| mode | disks[].mode | Normalized to mode_lk. |
| type | disks[].type | Normalized to type_lk. |
| disk_size | disks[].diskSizeGb | |
| interface | disks[].interface | Normalized to interface_lk. |
| os_license | disks[].licenses | Last token of the first license belonging to one of the public OS projects (debian-cloud, ubuntu-os-cloud, centos-cloud, rhel-cloud, windows-cloud, cos-cloud, suse-cloud, rocky-linux-cloud). Empty if none matches. |
| instance | - | Record Id of the related computeinstance. |
NetworkInterface (networkinterface)
A network interface of a Compute Engine instance. One record is created for each interface of each instance.
| Property name | Source path | Notes |
|---|---|---|
| name | networkInterfaces[].name | |
| ip | networkInterfaces[].networkIP | |
| stack_type | networkInterfaces[].stackType | Normalized to stack_type_lk. |
| instance | - | Record Id of the related computeinstance. |
| network | networkInterfaces[].network | Record Id of the related network. |
| subnetwork | networkInterfaces[].subnetwork | Record Id of the related subnetwork. |
Network (network)
A VPC network.
| Property name | Source path | Notes |
|---|---|---|
| description | description | |
| auto_create_subnetworks | autoCreateSubnetworks |
Subnetwork (subnetwork)
A subnetwork of a VPC network.
| Property name | Source path | Notes |
|---|---|---|
| description | description | |
| location | key of the aggregated list scope | Last token of the scope (region). |
| cidr_range | ipCidrRange | |
| purpose | purpose | Normalized to purpose_lk. |
| gateway_address | gatewayAddress | |
| stack_type | stackType | Normalized to stack_type_lk. |
| private_ip_google_access | privateIpGoogleAccess | |
| network | network | Record Id of the related network. |
Firewall (firewall)
A VPC firewall rule.
| Property name | Source path | Notes |
|---|---|---|
| description | description | |
| direction | direction | Normalized to direction_lk. |
| priority | priority | |
| disabled | disabled | |
| source_ranges | sourceRanges | Transformed to JSON. |
| destination_ranges | destinationRanges | Transformed to JSON. |
| source_tags | sourceTags | Transformed to JSON. |
| target_tags | targetTags | Transformed to JSON. |
| source_service_accounts | sourceServiceAccounts | Transformed to JSON. |
| target_service_accounts | targetServiceAccounts | Transformed to JSON. |
| allowed | allowed | JSON list of objects with keys ports (list) and protocol (IPProtocol). |
| denied | denied | JSON list of objects with keys ports (list) and protocol (IPProtocol). |
| network | network | Record Id of the related network. |
Address (address)
A reserved IP address.
| Property name | Source path | Notes |
|---|---|---|
| description | description | |
| address | address | |
| address_type | addressType | Normalized to address_type_lk. |
| ip_version | ipVersion | Normalized to ip_version_lk. |
| purpose | purpose | Normalized to purpose_lk. |
| status | status | Normalized to status_lk. |
| location | key of the aggregated list scope | Last token of the scope (region, or global). |
| prefix_length | prefixLength | |
| network_tier | networkTier | Normalized to network_tier_lk. |
| network | network | Record Id of the related network. Only if the address has a network. |
| subnetwork | subnetwork | Record Id of the related subnetwork. Only if the address has a subnetwork. |
| users | users | List of Record Ids of the resources using the address. |
Address usage relation (usage_rel)
Calculated record. It is generated by the preprocessing, one for each element of the users list of each address record, to represent the usage of the address by another resource.
| Property name | Source path | Notes |
|---|---|---|
| user | address.users | Record Id of the resource that uses the address. |
| used | address | Record Id of the address. |
MachineType (machinetype)
Catalog of the Compute Engine machine types, used to enrich computeinstance and nodepool records with CPU and memory.
| Property name | Source path | Notes |
|---|---|---|
| name | name | |
| description | description | |
| memory | memoryMb | Converted to GB. |
| cpus | guestCpus |
Notes
- The catalog is read only when an instance or node pool uses a machine type not yet extracted: in that case all the machine types of the location of the resource are read. Custom machine types (
<family>-custom-<cpus>-<memory MB>) and the GKE Autopilot ones (ek-*) never trigger the reading. Each machine type is extracted once, even if used in several locations or projects.
Google Kubernetes Engine
Cluster (cluster)
A GKE cluster.
| Property name | Source path | Notes |
|---|---|---|
| location | location | |
| status | status | Name of the enum value. STOPPING is replaced with DELETE_IN_PROGRESS. Normalized to status_lk. |
| current_master_version | currentMasterVersion | |
| release_channel | releaseChannel.channel | Name of the enum value. Normalized to release_channel_lk. |
| autopilot | autopilot.enabled | |
| network | network | Name of the network, not a relation. |
| subnetwork | subnetwork | Name of the subnetwork, not a relation. |
| endpoint | endpoint | |
| cluster_ipv4_cidr | clusterIpv4Cidr | |
| services_ipv4_cidr | servicesIpv4Cidr |
NodePool (nodepool)
A node pool of a GKE cluster. One record is created for each node pool of each cluster.
| Property name | Source path | Notes |
|---|---|---|
| status | status | Name of the enum value. STOPPING is replaced with DELETE_IN_PROGRESS. Normalized to status_lk. |
| initial_node_count | initialNodeCount | |
| autoscaling | autoscaling.enabled | |
| autoscaling_min_node_count | autoscaling.minNodeCount | |
| autoscaling_max_node_count | autoscaling.maxNodeCount | |
| autoscaling_location_policy | autoscaling.locationPolicy | Name of the enum value. Normalized to autoscaling_location_policy_lk. |
| machine_type | config.machineType | |
| cpus | machinetype.cpus | Added by the preprocessing, with the same rules as computeinstance. |
| memory | machinetype.memory | In GB. Added by the preprocessing, with the same rules as computeinstance. |
| disk_size | config.diskSizeGb | |
| disk_type | config.diskType | |
| preemptible | config.preemptible | |
| auto_upgrade | management.autoUpgrade | |
| auto_repair | management.autoRepair | |
| service_account | config.serviceAccount | |
| image_type | config.imageType | |
| version | version | |
| labels | config.labels | Transformed to JSON. |
| cluster | - | Record Id of the related cluster. |
For node pools, the machine type location used to read the machinetype catalog is the first of the node pool locations.
Cloud SQL
DatabaseInstance (sqlinstance)
A Cloud SQL instance.
| Property name | Source path | Notes |
|---|---|---|
| database_version | databaseVersion | |
| state | state | RUNNABLE is replaced with RUNNING, PENDING_DELETE with DELETE_IN_PROGRESS. Normalized to state_lk. |
| location | region | |
| zone | gceZone | |
| tier | settings.tier | |
| memory | sqltier.memory | In GB. Added by the preprocessing. For custom tiers (<family>-custom-<cpus>-<memory MB>) it is parsed from the tier name and converted from MB. |
| disk_quota | sqltier.disk_quota | In GB. Added by the preprocessing. Not set for custom tiers. |
| availability_type | settings.availabilityType | Normalized to availability_type_lk. |
| disk_size_gb | settings.dataDiskSizeGb | |
| disk_type | settings.dataDiskType | Normalized to disk_type_lk. |
| connection_name | connectionName | |
| ip_addresses | ipAddresses[].ipAddress | Transformed to JSON. |
| labels | settings.userLabels | Transformed to JSON. |
Tier (sqltier)
Catalog of the Cloud SQL tiers, used to enrich sqlinstance records with memory and disk quota.
| Property name | Source path | Notes |
|---|---|---|
| name | tier | |
| memory | RAM | Converted to GB. |
| disk_quota | DiskQuota | Converted to GB. |
Notes
- The catalog is read only when an instance uses a tier not yet extracted: in that case all the tiers available for the project are read. Custom tiers (
<family>-custom-<cpus>-<memory MB>) never trigger the reading. Each tier is extracted once, even if used in several projects.