in teamcity/auth.go [314:394]
func (r *authResource) update(plan authResourceModel) (authResourceModel, error) {
settings := client.AuthSettings{
AllowGuest: plan.AllowGuest.ValueBool(),
GuestUsername: plan.GuestUsername.ValueString(),
WelcomeText: plan.WelcomeText.ValueString(),
CollapseLoginForm: plan.CollapseLoginForm.ValueBool(),
//TwoFactorMode: plan.TwoFactorMode.ValueString(),
PerProjectPermissions: plan.PerProjectPermissions.ValueBool(),
EmailVerification: plan.EmailVerification.ValueBool(),
}
if plan.Modules.Token != nil {
settings.Modules.Module = append(settings.Modules.Module, client.Module{Name: "Token-Auth"})
}
if plan.Modules.BuiltIn != nil {
settings.Modules.Module = append(settings.Modules.Module, client.Module{
Name: "Default",
Properties: &models.Properties{
Property: plan.Modules.BuiltIn.getProperties(),
},
})
}
if plan.Modules.BasicHTTP != nil {
settings.Modules.Module = append(settings.Modules.Module, client.Module{Name: "HTTP-Basic"})
}
if plan.Modules.Google != nil {
settings.Modules.Module = append(settings.Modules.Module, client.Module{
Name: "Google-oauth",
Properties: &models.Properties{
Property: plan.Modules.Google.getProperties(),
},
})
}
if plan.Modules.GithubApp != nil {
settings.Modules.Module = append(settings.Modules.Module, client.Module{
Name: "GitHubApp-oauth",
Properties: &models.Properties{
Property: plan.Modules.GithubApp.getProperties(),
},
})
}
if plan.Modules.GithubCom != nil {
settings.Modules.Module = append(settings.Modules.Module, client.Module{
Name: "GitHub-oauth",
Properties: &models.Properties{
Property: plan.Modules.GithubCom.getProperties(),
},
})
}
if plan.Modules.GithubEnterprise != nil {
settings.Modules.Module = append(settings.Modules.Module, client.Module{
Name: "GHE-oauth",
Properties: &models.Properties{
Property: plan.Modules.GithubEnterprise.getProperties(),
},
})
}
if plan.Modules.Space != nil {
settings.Modules.Module = append(settings.Modules.Module, client.Module{
Name: "JetbrainsSpace-oauth",
Properties: &models.Properties{
Property: plan.Modules.Space.getProperties(),
},
})
}
if plan.Modules.LDAP != nil {
settings.Modules.Module = append(settings.Modules.Module, client.Module{
Name: "LDAP",
Properties: &models.Properties{
Property: plan.Modules.LDAP.getProperties(),
},
})
}
result, err := r.client.SetAuthSettings(settings)
if err != nil {
return authResourceModel{}, err
}
return r.readState(result)
}