diff --git a/spec/type_aliases/systemd_servicelimits_spec.rb b/spec/type_aliases/systemd_servicelimits_spec.rb index 97d5db5e..95226e51 100644 --- a/spec/type_aliases/systemd_servicelimits_spec.rb +++ b/spec/type_aliases/systemd_servicelimits_spec.rb @@ -3,11 +3,14 @@ require 'spec_helper' describe 'Systemd::ServiceLimits' do + it { is_expected.to allow_value({ 'LimitMEMLOCK' => '100:100K' }) } + it { is_expected.to allow_value({ 'MemoryAccounting' => true }) } it { is_expected.to allow_value( { + 'MemoryLow' => '100', 'MemoryMin' => '10%', 'MemoryHigh' => '8G', 'MemoryMax' => 'infinity' diff --git a/types/servicelimits.pp b/types/servicelimits.pp index 7a7e6377..d158c929 100644 --- a/types/servicelimits.pp +++ b/types/servicelimits.pp @@ -2,18 +2,18 @@ type Systemd::ServiceLimits = Struct[ { Optional['LimitCPU'] => Pattern['^\d+(s|m|h|d|w|M|y)?(:\d+(s|m|h|d|w|M|y)?)?$'], - Optional['LimitFSIZE'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)(:\d+(K|M|G|T|P|E))?)))$'], - Optional['LimitDATA'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)(:\d+(K|M|G|T|P|E))?)))$'], - Optional['LimitSTACK'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)(:\d+(K|M|G|T|P|E))?)))$'], - Optional['LimitCORE'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)(:\d+(K|M|G|T|P|E))?)))$'], - Optional['LimitRSS'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)(:\d+(K|M|G|T|P|E))?)))$'], + Optional['LimitFSIZE'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)?(:\d+(K|M|G|T|P|E)?)?)))$'], + Optional['LimitDATA'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)?(:\d+(K|M|G|T|P|E)?)?)))$'], + Optional['LimitSTACK'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)?(:\d+(K|M|G|T|P|E)?)?)))$'], + Optional['LimitCORE'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)?(:\d+(K|M|G|T|P|E)?)?)))$'], + Optional['LimitRSS'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)?(:\d+(K|M|G|T|P|E)?)?)))$'], Optional['LimitNOFILE'] => Variant[Integer[-1],Pattern['^(infinity|\d+(:(infinity|\d+))?)$']], - Optional['LimitAS'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)(:\d+(K|M|G|T|P|E))?)))$'], + Optional['LimitAS'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)?(:\d+(K|M|G|T|P|E)?)?)))$'], Optional['LimitNPROC'] => Variant[Integer[-1],Pattern['^(infinity|\d+(:(infinity|\d+))?)$']], - Optional['LimitMEMLOCK'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)(:\d+(K|M|G|T|P|E))?)))$'], + Optional['LimitMEMLOCK'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)?(:\d+(K|M|G|T|P|E)?)?)))$'], Optional['LimitLOCKS'] => Integer[1], Optional['LimitSIGPENDING'] => Integer[1], - Optional['LimitMSGQUEUE'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)(:\d+(K|M|G|T|P|E))?)))$'], + Optional['LimitMSGQUEUE'] => Pattern['^(infinity|((\d+(K|M|G|T|P|E)?(:\d+(K|M|G|T|P|E)?)?)))$'], Optional['LimitNICE'] => Variant[Integer[0,40], Pattern['^(-\+([0-1]?[0-9]|20))|([0-3]?[0-9]|40)$']], Optional['LimitRTPRIO'] => Integer[0], Optional['LimitRTTIME'] => Pattern['^\d+(ms|s|m|h|d|w|M|y)?(:\d+(ms|s|m|h|d|w|M|y)?)?$'], @@ -22,11 +22,11 @@ Optional['StartupCPUShares'] => Integer[2,262144], Optional['CPUQuota'] => Pattern['^([1-9][0-9]*)%$'], Optional['MemoryAccounting'] => Boolean, - Optional['MemoryLow'] => Pattern['\A(infinity|\d+(K|M|G|T|%)(:\d+(K|M|G|T|%))?)\z'], - Optional['MemoryMin'] => Pattern['\A(infinity|\d+(K|M|G|T|%)(:\d+(K|M|G|T|%))?)\z'], - Optional['MemoryHigh'] => Pattern['\A(infinity|\d+(K|M|G|T|%)(:\d+(K|M|G|T|%))?)\z'], - Optional['MemoryMax'] => Pattern['\A(infinity|\d+(K|M|G|T|%)(:\d+(K|M|G|T|%))?)\z'], - Optional['MemoryLimit'] => Pattern['\A(infinity|\d+(K|M|G|T|%)(:\d+(K|M|G|T|%))?)\z'], + Optional['MemoryLow'] => Pattern['\A(infinity|\d+(K|M|G|T|%)?(:\d+(K|M|G|T|%)?)?)\z'], + Optional['MemoryMin'] => Pattern['\A(infinity|\d+(K|M|G|T|%)?(:\d+(K|M|G|T|%)?)?)\z'], + Optional['MemoryHigh'] => Pattern['\A(infinity|\d+(K|M|G|T|%)?(:\d+(K|M|G|T|%)?)?)\z'], + Optional['MemoryMax'] => Pattern['\A(infinity|\d+(K|M|G|T|%)?(:\d+(K|M|G|T|%)?)?)\z'], + Optional['MemoryLimit'] => Pattern['\A(infinity|\d+(K|M|G|T|%)?(:\d+(K|M|G|T|%)?)?)\z'], Optional['TasksAccounting'] => Boolean, Optional['TasksMax'] => Variant[Integer[1],Pattern['^(infinity|([1-9][0-9]?$|^100)%)$']], Optional['IOAccounting'] => Boolean,