Skip to main content

Template Validation

IAMbic templates can be validated by the JSON Schema files at the below locations. You can use these to validate your templates in your CI/CD pipeline, or in your IDE.

https://docs.iambic.org/schemas/v1/aws_iam_group_template.json https://docs.iambic.org/schemas/v1/aws_iam_managed_policy_template.json https://docs.iambic.org/schemas/v1/aws_iam_role_template.json https://docs.iambic.org/schemas/v1/aws_iam_user_template.json https://docs.iambic.org/schemas/v1/aws_identity_center_permission_set_template.json https://docs.iambic.org/schemas/v1/azure_active_directory_group_template.json https://docs.iambic.org/schemas/v1/azure_active_directory_user_template.json https://docs.iambic.org/schemas/v1/config.json https://docs.iambic.org/schemas/v1/google_workspace_group_template.json https://docs.iambic.org/schemas/v1/okta_app_template.json https://docs.iambic.org/schemas/v1/okta_group_template.json https://docs.iambic.org/schemas/v1/okta_user_template.json

Validation in VS code

To validate your templates in Visual Studio Code, you can use the YAML extension and add a configuration to the .vscode/settings.json file in your iambic-templates repository.

"yaml.schemas": {
"https://docs.iambic.org/schemas/v1/aws_iam_group_template.json": ["**/resources/aws/iam/group/**/*.yaml"],
"https://docs.iambic.org/schemas/v1/aws_iam_managed_policy_template.json": ["**/resources/aws/iam/managed_policy/**/*.yaml"],
"https://docs.iambic.org/schemas/v1/aws_iam_role_template.json": ["**/resources/aws/iam/role/**/*.yaml"],
"https://docs.iambic.org/schemas/v1/aws_iam_user_template.json": ["**/resources/aws/iam/user/**/*.yaml"],
"https://docs.iambic.org/schemas/v1/aws_identity_center_permission_set_template.json": ["**/resources/aws/identity_center/permission_set/**/*.yaml"],
"https://docs.iambic.org/schemas/v1/azure_active_directory_group_template.json": ["**/resources/azure_ad/group/**/*.yaml"],
"https://docs.iambic.org/schemas/v1/azure_active_directory_user_template.json": ["**/resources/azure_ad/user/**/*.yaml"],
"https://docs.iambic.org/schemas/v1/google_workspace_group_template.json": ["**/resources/google_workspace/group/**/*.yaml"],
"https://docs.iambic.org/schemas/v1/okta_app_template.json": ["**/resources/okta/app/**/*.yaml"],
"https://docs.iambic.org/schemas/v1/okta_group_template.json": ["**/resources/okta/group/**/*.yaml"],
"https://docs.iambic.org/schemas/v1/okta_user_template.json": ["**/resources/okta/user/**/*.yaml"],
},
"yaml.validate": true,
"yaml.trace.server": "verbose",
"yaml.disableAdditionalProperties": true,

Validation in JetBrains IDEs

JetBrains IDEs such as IntelliJ and PyCharm can validate your templates as well. Open your iambic-templates repository and configure a JSON Schema Mapping with the same files and glob patterns as above. guidance can be found on JetBrains' website.