in internal/provider/architecture_data_source.go [279:306]
func alzMgToProviderType(ctx context.Context, mg *deployment.HierarchyManagementGroup) (gen.ManagementGroupsValue, diag.Diagnostics) {
var respDiags diag.Diagnostics
policyAssignments, diags := typehelper.ConvertAlzMapToFrameworkType(mg.PolicyAssignmentMap())
respDiags.Append(diags...)
policyDefinitions, diags := typehelper.ConvertAlzMapToFrameworkType(mg.PolicyDefinitionsMap())
respDiags.Append(diags...)
policySetDefinitions, diags := typehelper.ConvertAlzMapToFrameworkType(mg.PolicySetDefinitionsMap())
respDiags.Append(diags...)
roleDefinitions, diags := typehelper.ConvertAlzMapToFrameworkType(mg.RoleDefinitionsMap())
respDiags.Append(diags...)
if respDiags.HasError() {
return gen.NewManagementGroupsValueNull(), respDiags
}
return gen.NewManagementGroupsValue(
gen.NewManagementGroupsValueNull().AttributeTypes(ctx),
map[string]attr.Value{
"id": types.StringValue(mg.Name()),
"parent_id": types.StringValue(mg.ParentId()),
"display_name": types.StringValue(mg.DisplayName()),
"exists": types.BoolValue(mg.Exists()),
"level": types.NumberValue(big.NewFloat(float64(mg.Level()))),
"policy_assignments": policyAssignments,
"policy_definitions": policyDefinitions,
"policy_set_definitions": policySetDefinitions,
"role_definitions": roleDefinitions,
},
)
}