cartography
cartography copied to clipboard
Add Scaleway module
Summary
This PR add a Scaleway intel (french cloud provider). This PR only add the following resources (more resources to come in further PR):
- ScalewayOrganization
- ScalewayProject
- ScalewayUser
- ScalewayApplication
- ScalewayGroup
- ScalewayApiKey
- ScalewayInstance
- ScalewayVolume
- ScalewaySnapshot
- ScalewayFlexibleIp (not working at the moment due to a bug in the SDK)
graph LR
ORG(Organization) -- RESOURCE --> PRJ(Project)
ORG -- RESOURCE --> APP(Application)
ORG -- RESOURCE --> USR(User)
ORG -- RESOURCE --> GRP(ScalewayGroup)
ORG -- RESOURCE --> APIKEY(ScalewayApiKey)
PRJ -- RESOURCE --> INS(Instance)
PRJ -- RESOURCE --> FIP(FlexibleIp)
PRJ -- RESOURCE --> VOL(Volume)
PRJ -- RESOURCE --> SNAP(VolumeSnapshot)
INS -- MOUNTS --> VOL
FIP -- IDENTIFIES --> INS
VOL -- HAS --> SNAP
USR -- MEMBER_OF --> GRP(ScalewayGroup)
USR -- HAS --> APIKEY(ScalewayApiKey)
APP -- MEMBER_OF --> GRP(ScalewayGroup)
APP -- HAS --> APIKEY(ScalewayApiKey)
Checklist
Provide proof that this works (this makes reviews move faster). Please perform one or more of the following:
- [x] Update/add unit or integration tests.
- [x] Include a screenshot showing what the graph looked like before and after your changes.
- [x] Include console log trace showing what happened before and after your changes.
- [x] Update demo environment
If you are changing a node or relationship:
If you are implementing a new intel module:
- [x] Use the NodeSchema data model.
WARNING:cartography.cli:A Kandji base URI was not provided.
WARNING:cartography.cli:A SnipeIT base URI was not provided.
INFO:cartography.sync:Starting sync with update tag '1750449839'
INFO:cartography.sync:Starting sync stage 'scaleway'
INFO:cartography.intel.scaleway.projects:Loading 1 Scaleway Projects into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayProject statement #1
INFO:cartography.graph.statement:Completed ScalewayProject statement #2
INFO:cartography.graph.job:Finished job ScalewayProject
INFO:cartography.intel.scaleway.iam.users:Loading 1 Scaleway Users into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayUser statement #1
INFO:cartography.graph.statement:Completed ScalewayUser statement #2
INFO:cartography.graph.job:Finished job ScalewayUser
INFO:cartography.intel.scaleway.iam.applications:Loading 2 Scaleway Applications into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayApplication statement #1
INFO:cartography.graph.statement:Completed ScalewayApplication statement #2
INFO:cartography.graph.job:Finished job ScalewayApplication
INFO:cartography.intel.scaleway.iam.groups:Loading 1 Scaleway Groups into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayGroup statement #1
INFO:cartography.graph.statement:Completed ScalewayGroup statement #2
INFO:cartography.graph.statement:Completed ScalewayGroup statement #3
INFO:cartography.graph.statement:Completed ScalewayGroup statement #4
INFO:cartography.graph.job:Finished job ScalewayGroup
INFO:cartography.intel.scaleway.iam.apikeys:Loading 4 Scaleway ApiKeys into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayApiKey statement #1
INFO:cartography.graph.statement:Completed ScalewayApiKey statement #2
INFO:cartography.graph.statement:Completed ScalewayApiKey statement #3
INFO:cartography.graph.statement:Completed ScalewayApiKey statement #4
INFO:cartography.graph.job:Finished job ScalewayApiKey
INFO:cartography.intel.scaleway.storage.volumes:Loading 1 Scaleway InstanceVolumes in project '<REDACTED>' into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayVolume statement #1
INFO:cartography.graph.statement:Completed ScalewayVolume statement #2
INFO:cartography.graph.job:Finished job ScalewayVolume
INFO:cartography.intel.scaleway.storage.snapshots:Loading 1 Scaleway InstanceSnapshots in project '<REDACTED>' into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayVolumeSnapshot statement #1
INFO:cartography.graph.statement:Completed ScalewayVolumeSnapshot statement #2
INFO:cartography.graph.statement:Completed ScalewayVolumeSnapshot statement #3
INFO:cartography.graph.job:Finished job ScalewayVolumeSnapshot
INFO:cartography.intel.scaleway.instances.instances:Loading 1 Scaleway Instance in project '<REDACTED>' into Neo4j.
INFO:cartography.graph.statement:Completed ScalewayInstance statement #1
INFO:cartography.graph.statement:Completed ScalewayInstance statement #2
INFO:cartography.graph.statement:Completed ScalewayInstance statement #3
INFO:cartography.graph.job:Finished job ScalewayInstance
INFO:cartography.sync:Finishing sync stage 'scaleway'
INFO:cartography.sync:Finishing sync with update tag '1750449839'