Hi Dan, 

Thanks for the input. If I were to implement this in the provider, what 
would be the proper way to do that? Is there a validation/conversion hook I 
can override?

On Sunday, September 9, 2012 1:55:17 PM UTC-4, Dan Bode wrote:
>
>
>
> On Sun, Sep 9, 2012 at 10:46 AM, Jon McKenzie <[email protected]<javascript:>
> > wrote:
>
>> Hi,
>>
>> I'm just trying to get an idea about the best way to implement this:
>>
>> I want a type that uses the 'semanage' binary to manage targeted policy 
>> (in this case for files).
>>
>> So for example to create a targeted policy, I might do something like:
>>
>> semanage fcontext -a -f -d -t some_domain_t "/path/to/files(/.*)?"
>>
>> ... which would add a target policy that sets 'some_domain_t' on all 
>> directories in "/path/to/files/"
>>
>> The question I have is about the "-d", which is a parameter to "-f", that 
>> directs policy to only cover directories (e.g. "-d" is for directories,  
>> "--" is for regular files, "-s" is for sockets, etc. -- see the help for 
>> semanage for the rest).
>>
>> I want a property called :filetype that can have a value of :file, 
>> :directory, :all, :socket, :character, :block, etc. Once I get valid input, 
>> I want to convert the value to the appropriate flag for the command. What's 
>> the best way to do this?
>>
>> My current idea is to accept any input, and then have a case switch 
>> inside of a munge block, e.g.:
>>
>>     munge do |value|
>>       case value
>>       when "file"
>>         value = "--"
>>       when "directory"
>>         value = "-d"
>>       ... etc..
>>       end
>>     end
>>
>> Is this the "correct" way to implement this?
>
>
> The syntax here looks correct. You may also want to use newvalues to 
> restrict the values that are allowed.
>  
>
>> Should this even be in the type definition (since these are details of 
>> the provider)?
>>
>
> That is a really good point. It would be more consistent with the model if 
> this munging was done in the provider. Of coarse in only really 'matters' 
> if you think the type will have multiple providers.
>  
>
>>
>> Thanks for your help,
>> Jon
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Puppet Users" group.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msg/puppet-users/-/1PVDZB_Cw2QJ.
>> To post to this group, send email to [email protected]<javascript:>
>> .
>> To unsubscribe from this group, send email to 
>> [email protected] <javascript:>.
>> For more options, visit this group at 
>> http://groups.google.com/group/puppet-users?hl=en.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/5nVGbDoO7bAJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to