Designing the Address Space
The address space is the first real design decision. This is where your connector will describe a hierarchy, based on file paths, of resources that it can manage.
In Python, the SDK does not require a special address trait. You can define a simple decode_addr() helper for simple patterns.
For example, the following addresses (paths) correspond to individual remote resources:
aws/s3/us-east-1/buckets/photo-backup.ronis an AWS S3 bucket in us-east-1 named "photo-backup"aws/elb/us-east-1/load_balancers/backend-autoschematic-sh/listeners/backend.ronis a listener named "backend" for the AWS elastic load balancer named 'backend-autoschematic-sh' in the 'us-east-1' region...github/ottercorp/backend/repository.ronis a Github repository named "backend" in the "ottercorp" org ...and so on.
The Grafana connector manages two address classes:
Good address schemes have a few properties:
- One path points to exactly one remote object
- One path points to only one remote object, and vice-versa.
- The address includes everything needed to locate the object remotely.
Reference files:

