Changeset View
Changeset View
Standalone View
Standalone View
lib/puppet/type/keycloak_client.rb
Show First 20 Lines • Show All 169 Lines • ▼ Show 20 Lines | newproperty(:login_theme) do | ||||
desc 'login_theme' | desc 'login_theme' | ||||
defaultto 'absent' | defaultto 'absent' | ||||
end | end | ||||
newproperty(:access_token_lifespan) do | newproperty(:access_token_lifespan) do | ||||
desc 'access.token.lifespan' | desc 'access.token.lifespan' | ||||
end | end | ||||
newproperty(:browser_flow) do | |||||
desc 'authenticationFlowBindingOverrides.browser (Use flow alias, not ID)' | |||||
defaultto :absent | |||||
end | |||||
newproperty(:direct_grant_flow) do | |||||
desc 'authenticationFlowBindingOverrides.direct_grant (Use flow alias, not ID)' | |||||
defaultto :absent | |||||
end | |||||
newproperty(:roles, array_matching: :all, parent: PuppetX::Keycloak::ArrayProperty) do | |||||
desc 'roles' | |||||
defaultto [] | |||||
end | |||||
autorequire(:keycloak_client_scope) do | autorequire(:keycloak_client_scope) do | ||||
requires = [] | requires = [] | ||||
catalog.resources.each do |resource| | catalog.resources.each do |resource| | ||||
next unless resource.class.to_s == 'Puppet::Type::Keycloak_client_scope' | next unless resource.class.to_s == 'Puppet::Type::Keycloak_client_scope' | ||||
if self[:default_client_scopes].include?(resource[:resource_name]) | if self[:default_client_scopes].include?(resource[:resource_name]) | ||||
requires << resource.name | requires << resource.name | ||||
end | end | ||||
if self[:optional_client_scopes].include?(resource[:resource_name]) | if self[:optional_client_scopes].include?(resource[:resource_name]) | ||||
Show All 12 Lines | catalog.resources.each do |resource| | ||||
end | end | ||||
if self[:optional_client_scopes].include?(resource[:client_scope]) | if self[:optional_client_scopes].include?(resource[:client_scope]) | ||||
requires << resource.name | requires << resource.name | ||||
end | end | ||||
end | end | ||||
requires | requires | ||||
end | end | ||||
autorequire(:keycloak_flow) do | |||||
requires = [] | |||||
catalog.resources.each do |resource| | |||||
next unless resource.class.to_s == 'Puppet::Type::Keycloak_flow' | |||||
next if self[:realm] != resource[:realm] | |||||
if self[:browser_flow] == resource[:alias] | |||||
requires << resource.name | |||||
end | |||||
if self[:direct_grant_flow] == resource[:alias] | |||||
requires << resource.name | |||||
end | |||||
end | |||||
requires | |||||
end | |||||
validate do | validate do | ||||
if self[:authorization_services_enabled] == :true && self[:service_accounts_enabled] == :false | if self[:authorization_services_enabled] == :true && self[:service_accounts_enabled] == :false | ||||
raise "Keycloak_client[#{self[:name]}] must have service_accounts_enabled => true if authorization_services_enabled => true" | raise "Keycloak_client[#{self[:name]}] must have service_accounts_enabled => true if authorization_services_enabled => true" | ||||
end | end | ||||
end | end | ||||
def self.title_patterns | def self.title_patterns | ||||
[ | [ | ||||
Show All 17 Lines |