Description
This is a follow-up to recent GCP unified label work (GCPLabel).
Today Cartography has provider-native metadata nodes:
AWSTag (AWS)
GCPLabel (GCP)
We should add a shared semantic layer for cross-cloud metadata tagging queries, tentatively named ResourceTag, while keeping provider-native node labels intact.
Proposed direction for a later PR (not this one):
- Define a shared semantic label:
ResourceTag.
- Apply it to
AWSTag and GCPLabel nodes (and optionally other provider equivalents later).
- Keep provider-native node labels and provider-native relationship names for compatibility.
- Update docs/ontology guidance so cross-cloud queries can target
:ResourceTag.
Motivation
Users want consistent cross-cloud querying for key/value metadata attached to resources, regardless of provider naming differences (tags vs labels). A shared semantic label enables this without losing provider-specific fidelity.
Alternatives Considered
- Keep separate semantics (
Tag for AWS, Label for GCP): preserves provider terms but fragments cross-cloud queries.
- Rename provider-native nodes to one global node type: more disruptive and higher migration risk.
- Use
Tag as the shared semantic name: viable, but ResourceTag is less overloaded and clearer in multi-cloud contexts.
Relevant Links
- Current GCP schema docs:
docs/root/modules/gcp/schema.md (GCPLabel)
- Current AWS schema docs:
docs/root/modules/aws/schema.md (AWSTag)
Description
This is a follow-up to recent GCP unified label work (
GCPLabel).Today Cartography has provider-native metadata nodes:
AWSTag(AWS)GCPLabel(GCP)We should add a shared semantic layer for cross-cloud metadata tagging queries, tentatively named
ResourceTag, while keeping provider-native node labels intact.Proposed direction for a later PR (not this one):
ResourceTag.AWSTagandGCPLabelnodes (and optionally other provider equivalents later).:ResourceTag.Motivation
Users want consistent cross-cloud querying for key/value metadata attached to resources, regardless of provider naming differences (
tagsvslabels). A shared semantic label enables this without losing provider-specific fidelity.Alternatives Considered
Tagfor AWS,Labelfor GCP): preserves provider terms but fragments cross-cloud queries.Tagas the shared semantic name: viable, butResourceTagis less overloaded and clearer in multi-cloud contexts.Relevant Links
docs/root/modules/gcp/schema.md(GCPLabel)docs/root/modules/aws/schema.md(AWSTag)