Id is a unique identifier for a resource within a stack, chosen by the user (if it’s a root resource), or by the library itself.
E.g., when a user adds a bucket, he/she will pick the id of that bucket.
But when we automatically generate additional resources for that bucket (a policy, for example), the library chooses those additional ids, often by adding a suffix.