An adapter transforms metadata from a low-level resource or module into the interface expected by higher-level resources. It lets incompatible infrastructure components work together without changing the low-level implementation. section 4.4 section 4.7
Mapping generic permissions to GCP roles
A reusable identity module can expose read, write, and admin permissions with generic usernames. A GCP adapter converts them to roles/viewer, roles/editor, and roles/owner so GCP can assign users, service accounts, and groups correctly. Equivalent mappings can target AWS or Azure. section 4.4
Choose the adapter when:
- Many high-level modules depend on one low-level module or resource. section 4.6
- Infrastructure must support multiple providers while isolating provider-specific changes. section 4.6 section 4.7
- You can accept greater implementation and troubleshooting effort in exchange for scalability and evolvability. section 4.6
Figure 4.9 The adapter pattern transforms attributes to a different interface that high-level modules can consume.
Visualizes how an adapter changes attributes into an interface consumable by high-level modules. section 4.4








