chef 0.7.10
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of chef might be problematic. Click here for more details.
- data/LICENSE +201 -0
- data/README.rdoc +135 -0
- data/bin/chef-client +26 -0
- data/bin/chef-solo +26 -0
- data/lib/chef.rb +49 -0
- data/lib/chef/application.rb +98 -0
- data/lib/chef/application/agent.rb +18 -0
- data/lib/chef/application/client.rb +209 -0
- data/lib/chef/application/indexer.rb +141 -0
- data/lib/chef/application/server.rb +18 -0
- data/lib/chef/application/solo.rb +214 -0
- data/lib/chef/client.rb +396 -0
- data/lib/chef/compile.rb +138 -0
- data/lib/chef/config.rb +141 -0
- data/lib/chef/cookbook.rb +144 -0
- data/lib/chef/cookbook/metadata.rb +407 -0
- data/lib/chef/cookbook/metadata/version.rb +87 -0
- data/lib/chef/cookbook_loader.rb +168 -0
- data/lib/chef/couchdb.rb +172 -0
- data/lib/chef/daemon.rb +170 -0
- data/lib/chef/exceptions.rb +36 -0
- data/lib/chef/file_cache.rb +205 -0
- data/lib/chef/log.rb +39 -0
- data/lib/chef/mixin/check_helper.rb +31 -0
- data/lib/chef/mixin/checksum.rb +37 -0
- data/lib/chef/mixin/command.rb +351 -0
- data/lib/chef/mixin/create_path.rb +56 -0
- data/lib/chef/mixin/deep_merge.rb +36 -0
- data/lib/chef/mixin/find_preferred_file.rb +99 -0
- data/lib/chef/mixin/from_file.rb +36 -0
- data/lib/chef/mixin/generate_url.rb +48 -0
- data/lib/chef/mixin/language.rb +79 -0
- data/lib/chef/mixin/params_validate.rb +197 -0
- data/lib/chef/mixin/template.rb +84 -0
- data/lib/chef/node.rb +406 -0
- data/lib/chef/node/attribute.rb +412 -0
- data/lib/chef/openid_registration.rb +181 -0
- data/lib/chef/platform.rb +253 -0
- data/lib/chef/provider.rb +40 -0
- data/lib/chef/provider/cron.rb +137 -0
- data/lib/chef/provider/directory.rb +72 -0
- data/lib/chef/provider/execute.rb +58 -0
- data/lib/chef/provider/file.rb +191 -0
- data/lib/chef/provider/group.rb +120 -0
- data/lib/chef/provider/group/groupadd.rb +92 -0
- data/lib/chef/provider/group/pw.rb +88 -0
- data/lib/chef/provider/http_request.rb +102 -0
- data/lib/chef/provider/ifconfig.rb +131 -0
- data/lib/chef/provider/link.rb +157 -0
- data/lib/chef/provider/mount.rb +121 -0
- data/lib/chef/provider/mount/mount.rb +208 -0
- data/lib/chef/provider/package.rb +160 -0
- data/lib/chef/provider/package/apt.rb +110 -0
- data/lib/chef/provider/package/dpkg.rb +113 -0
- data/lib/chef/provider/package/freebsd.rb +153 -0
- data/lib/chef/provider/package/macports.rb +105 -0
- data/lib/chef/provider/package/portage.rb +124 -0
- data/lib/chef/provider/package/rpm.rb +99 -0
- data/lib/chef/provider/package/rubygems.rb +130 -0
- data/lib/chef/provider/package/yum-dump.py +104 -0
- data/lib/chef/provider/package/yum.rb +175 -0
- data/lib/chef/provider/remote_directory.rb +126 -0
- data/lib/chef/provider/remote_file.rb +134 -0
- data/lib/chef/provider/route.rb +118 -0
- data/lib/chef/provider/ruby_block.rb +15 -0
- data/lib/chef/provider/script.rb +42 -0
- data/lib/chef/provider/service.rb +129 -0
- data/lib/chef/provider/service/debian.rb +64 -0
- data/lib/chef/provider/service/freebsd.rb +157 -0
- data/lib/chef/provider/service/gentoo.rb +54 -0
- data/lib/chef/provider/service/init.rb +126 -0
- data/lib/chef/provider/service/redhat.rb +62 -0
- data/lib/chef/provider/template.rb +141 -0
- data/lib/chef/provider/user.rb +170 -0
- data/lib/chef/provider/user/pw.rb +113 -0
- data/lib/chef/provider/user/useradd.rb +107 -0
- data/lib/chef/queue.rb +145 -0
- data/lib/chef/recipe.rb +210 -0
- data/lib/chef/resource.rb +256 -0
- data/lib/chef/resource/apt_package.rb +34 -0
- data/lib/chef/resource/bash.rb +33 -0
- data/lib/chef/resource/cron.rb +143 -0
- data/lib/chef/resource/csh.rb +33 -0
- data/lib/chef/resource/directory.rb +76 -0
- data/lib/chef/resource/dpkg_package.rb +34 -0
- data/lib/chef/resource/execute.rb +127 -0
- data/lib/chef/resource/file.rb +84 -0
- data/lib/chef/resource/gem_package.rb +41 -0
- data/lib/chef/resource/group.rb +68 -0
- data/lib/chef/resource/http_request.rb +52 -0
- data/lib/chef/resource/ifconfig.rb +134 -0
- data/lib/chef/resource/link.rb +78 -0
- data/lib/chef/resource/macports_package.rb +29 -0
- data/lib/chef/resource/mount.rb +135 -0
- data/lib/chef/resource/package.rb +80 -0
- data/lib/chef/resource/perl.rb +33 -0
- data/lib/chef/resource/portage_package.rb +33 -0
- data/lib/chef/resource/python.rb +33 -0
- data/lib/chef/resource/remote_directory.rb +91 -0
- data/lib/chef/resource/remote_file.rb +60 -0
- data/lib/chef/resource/route.rb +135 -0
- data/lib/chef/resource/ruby.rb +33 -0
- data/lib/chef/resource/ruby_block.rb +20 -0
- data/lib/chef/resource/script.rb +51 -0
- data/lib/chef/resource/service.rb +134 -0
- data/lib/chef/resource/template.rb +60 -0
- data/lib/chef/resource/user.rb +98 -0
- data/lib/chef/resource_collection.rb +176 -0
- data/lib/chef/resource_definition.rb +67 -0
- data/lib/chef/rest.rb +238 -0
- data/lib/chef/role.rb +231 -0
- data/lib/chef/run_list.rb +156 -0
- data/lib/chef/runner.rb +123 -0
- data/lib/chef/search.rb +88 -0
- data/lib/chef/search/result.rb +64 -0
- data/lib/chef/search_index.rb +77 -0
- data/lib/chef/tasks/chef_repo.rake +345 -0
- data/lib/chef/util/file_edit.rb +125 -0
- data/lib/chef/util/fileedit.rb +121 -0
- metadata +262 -0
@@ -0,0 +1,33 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Adam Jacob (<adam@opscode.com>)
|
3
|
+
# Copyright:: Copyright (c) 2008 Opscode, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require 'chef/resource/script'
|
20
|
+
|
21
|
+
class Chef
|
22
|
+
class Resource
|
23
|
+
class Csh < Chef::Resource::Script
|
24
|
+
|
25
|
+
def initialize(name, collection=nil, node=nil)
|
26
|
+
super(name, collection, node)
|
27
|
+
@resource_name = :csh
|
28
|
+
@interpreter = "csh"
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Adam Jacob (<adam@opscode.com>)
|
3
|
+
# Copyright:: Copyright (c) 2008 Opscode, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require 'chef/resource'
|
20
|
+
|
21
|
+
class Chef
|
22
|
+
class Resource
|
23
|
+
class Directory < Chef::Resource
|
24
|
+
|
25
|
+
def initialize(name, collection=nil, node=nil)
|
26
|
+
super(name, collection, node)
|
27
|
+
@resource_name = :directory
|
28
|
+
@path = name
|
29
|
+
@action = :create
|
30
|
+
@recursive = false
|
31
|
+
@allowed_actions.push(:create, :delete)
|
32
|
+
end
|
33
|
+
|
34
|
+
def recursive(arg=nil)
|
35
|
+
set_or_return(
|
36
|
+
:recursive,
|
37
|
+
arg,
|
38
|
+
:kind_of => [ TrueClass, FalseClass ]
|
39
|
+
)
|
40
|
+
end
|
41
|
+
|
42
|
+
def group(arg=nil)
|
43
|
+
set_or_return(
|
44
|
+
:group,
|
45
|
+
arg,
|
46
|
+
:regex => [ /^([a-z]|[A-Z]|[0-9]|_|-)+$/, /^\d+$/ ]
|
47
|
+
)
|
48
|
+
end
|
49
|
+
|
50
|
+
def mode(arg=nil)
|
51
|
+
set_or_return(
|
52
|
+
:mode,
|
53
|
+
arg,
|
54
|
+
:regex => /^\d{3,4}$/
|
55
|
+
)
|
56
|
+
end
|
57
|
+
|
58
|
+
def owner(arg=nil)
|
59
|
+
set_or_return(
|
60
|
+
:owner,
|
61
|
+
arg,
|
62
|
+
:regex => [ /^([a-z]|[A-Z]|[0-9]|_|-)+$/, /^\d+$/ ]
|
63
|
+
)
|
64
|
+
end
|
65
|
+
|
66
|
+
def path(arg=nil)
|
67
|
+
set_or_return(
|
68
|
+
:path,
|
69
|
+
arg,
|
70
|
+
:kind_of => String
|
71
|
+
)
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Adam Jacob (<adam@opscode.com>)
|
3
|
+
# Copyright:: Copyright (c) 2008 Opscode, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require 'chef/resource/package'
|
20
|
+
require 'chef/provider/package/dpkg'
|
21
|
+
|
22
|
+
class Chef
|
23
|
+
class Resource
|
24
|
+
class DpkgPackage < Chef::Resource::Package
|
25
|
+
|
26
|
+
def initialize(name, collection=nil, node=nil)
|
27
|
+
super(name, collection, node)
|
28
|
+
@resource_name = :dpkg_package
|
29
|
+
@provider = Chef::Provider::Package::Dpkg
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,127 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Adam Jacob (<adam@opscode.com>)
|
3
|
+
# Copyright:: Copyright (c) 2008 Opscode, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require 'chef/resource'
|
20
|
+
|
21
|
+
class Chef
|
22
|
+
class Resource
|
23
|
+
class Execute < Chef::Resource
|
24
|
+
|
25
|
+
def initialize(name, collection=nil, node=nil)
|
26
|
+
super(name, collection, node)
|
27
|
+
@resource_name = :execute
|
28
|
+
@command = name
|
29
|
+
@backup = 5
|
30
|
+
@action = "run"
|
31
|
+
@creates = nil
|
32
|
+
@cwd = nil
|
33
|
+
@environment = nil
|
34
|
+
@group = nil
|
35
|
+
@path = nil
|
36
|
+
@returns = 0
|
37
|
+
@timeout = nil
|
38
|
+
@user = nil
|
39
|
+
@allowed_actions.push(:run)
|
40
|
+
@umask = nil
|
41
|
+
end
|
42
|
+
|
43
|
+
def umask(arg=nil)
|
44
|
+
set_or_return(
|
45
|
+
:umask,
|
46
|
+
arg,
|
47
|
+
:kind_of => [ String, Integer ]
|
48
|
+
)
|
49
|
+
end
|
50
|
+
|
51
|
+
def command(arg=nil)
|
52
|
+
set_or_return(
|
53
|
+
:command,
|
54
|
+
arg,
|
55
|
+
:kind_of => [ String ]
|
56
|
+
)
|
57
|
+
end
|
58
|
+
|
59
|
+
def creates(arg=nil)
|
60
|
+
set_or_return(
|
61
|
+
:creates,
|
62
|
+
arg,
|
63
|
+
:kind_of => [ String ]
|
64
|
+
)
|
65
|
+
end
|
66
|
+
|
67
|
+
def cwd(arg=nil)
|
68
|
+
set_or_return(
|
69
|
+
:cwd,
|
70
|
+
arg,
|
71
|
+
:kind_of => [ String ]
|
72
|
+
)
|
73
|
+
end
|
74
|
+
|
75
|
+
def environment(arg=nil)
|
76
|
+
set_or_return(
|
77
|
+
:environment,
|
78
|
+
arg,
|
79
|
+
:kind_of => [ Hash ]
|
80
|
+
)
|
81
|
+
end
|
82
|
+
|
83
|
+
def group(arg=nil)
|
84
|
+
set_or_return(
|
85
|
+
:group,
|
86
|
+
arg,
|
87
|
+
:kind_of => [ String, Integer ]
|
88
|
+
)
|
89
|
+
end
|
90
|
+
|
91
|
+
def path(arg=nil)
|
92
|
+
set_or_return(
|
93
|
+
:path,
|
94
|
+
arg,
|
95
|
+
:kind_of => [ Array ]
|
96
|
+
)
|
97
|
+
end
|
98
|
+
|
99
|
+
def returns(arg=nil)
|
100
|
+
set_or_return(
|
101
|
+
:returns,
|
102
|
+
arg,
|
103
|
+
:kind_of => [ Integer ]
|
104
|
+
)
|
105
|
+
end
|
106
|
+
|
107
|
+
def timeout(arg=nil)
|
108
|
+
set_or_return(
|
109
|
+
:timeout,
|
110
|
+
arg,
|
111
|
+
:kind_of => [ Integer ]
|
112
|
+
)
|
113
|
+
end
|
114
|
+
|
115
|
+
def user(arg=nil)
|
116
|
+
set_or_return(
|
117
|
+
:user,
|
118
|
+
arg,
|
119
|
+
:kind_of => [ String, Integer ]
|
120
|
+
)
|
121
|
+
end
|
122
|
+
|
123
|
+
|
124
|
+
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Adam Jacob (<adam@opscode.com>)
|
3
|
+
# Copyright:: Copyright (c) 2008 Opscode, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require 'chef/resource'
|
20
|
+
|
21
|
+
class Chef
|
22
|
+
class Resource
|
23
|
+
class File < Chef::Resource
|
24
|
+
|
25
|
+
def initialize(name, collection=nil, node=nil)
|
26
|
+
super(name, collection, node)
|
27
|
+
@resource_name = :file
|
28
|
+
@path = name
|
29
|
+
@backup = 5
|
30
|
+
@action = "create"
|
31
|
+
@allowed_actions.push(:create, :delete, :touch, :create_if_missing)
|
32
|
+
end
|
33
|
+
|
34
|
+
def backup(arg=nil)
|
35
|
+
set_or_return(
|
36
|
+
:backup,
|
37
|
+
arg,
|
38
|
+
:kind_of => [ Integer, FalseClass ]
|
39
|
+
)
|
40
|
+
end
|
41
|
+
|
42
|
+
def checksum(arg=nil)
|
43
|
+
set_or_return(
|
44
|
+
:checksum,
|
45
|
+
arg,
|
46
|
+
:regex => /^[a-zA-Z0-9]{64}$/
|
47
|
+
)
|
48
|
+
end
|
49
|
+
|
50
|
+
def group(arg=nil)
|
51
|
+
set_or_return(
|
52
|
+
:group,
|
53
|
+
arg,
|
54
|
+
:regex => [ /^([a-z]|[A-Z]|[0-9]|_|-)+$/, /^\d+$/ ]
|
55
|
+
)
|
56
|
+
end
|
57
|
+
|
58
|
+
def mode(arg=nil)
|
59
|
+
set_or_return(
|
60
|
+
:mode,
|
61
|
+
arg,
|
62
|
+
:regex => /^0?\d{3,4}$/
|
63
|
+
)
|
64
|
+
end
|
65
|
+
|
66
|
+
def owner(arg=nil)
|
67
|
+
set_or_return(
|
68
|
+
:owner,
|
69
|
+
arg,
|
70
|
+
:regex => [ /^([a-z]|[A-Z]|[0-9]|_|-)+$/, /^\d+$/ ]
|
71
|
+
)
|
72
|
+
end
|
73
|
+
|
74
|
+
def path(arg=nil)
|
75
|
+
set_or_return(
|
76
|
+
:path,
|
77
|
+
arg,
|
78
|
+
:kind_of => String
|
79
|
+
)
|
80
|
+
end
|
81
|
+
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Adam Jacob (<adam@opscode.com>)
|
3
|
+
# Copyright:: Copyright (c) 2008 Opscode, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
require 'chef/resource/package'
|
20
|
+
|
21
|
+
class Chef
|
22
|
+
class Resource
|
23
|
+
class GemPackage < Chef::Resource::Package
|
24
|
+
|
25
|
+
def initialize(name, collection=nil, node=nil)
|
26
|
+
super(name, collection, node)
|
27
|
+
@resource_name = :gem_package
|
28
|
+
@provider = Chef::Provider::Package::Rubygems
|
29
|
+
end
|
30
|
+
|
31
|
+
# Sets a custom gem_binary to run for gem commands.
|
32
|
+
def gem_binary(arg=nil)
|
33
|
+
set_or_return(
|
34
|
+
:gem_binary,
|
35
|
+
arg,
|
36
|
+
:kind_of => [ String ]
|
37
|
+
)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
#
|
2
|
+
# Author:: Adam Jacob (<adam@opscode.com>)
|
3
|
+
# Copyright:: Copyright (c) 2008 OpsCode, Inc.
|
4
|
+
# License:: Apache License, Version 2.0
|
5
|
+
#
|
6
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
7
|
+
# you may not use this file except in compliance with the License.
|
8
|
+
# You may obtain a copy of the License at
|
9
|
+
#
|
10
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
11
|
+
#
|
12
|
+
# Unless required by applicable law or agreed to in writing, software
|
13
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
14
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
15
|
+
# See the License for the specific language governing permissions and
|
16
|
+
# limitations under the License.
|
17
|
+
#
|
18
|
+
|
19
|
+
class Chef
|
20
|
+
class Resource
|
21
|
+
class Group < Chef::Resource
|
22
|
+
|
23
|
+
def initialize(name, collection=nil, node=nil)
|
24
|
+
super(name, collection, node)
|
25
|
+
@resource_name = :group
|
26
|
+
@group_name = name
|
27
|
+
@gid = nil
|
28
|
+
@members = []
|
29
|
+
@action = :create
|
30
|
+
@append = false
|
31
|
+
@allowed_actions.push(:create, :remove, :modify, :manage)
|
32
|
+
end
|
33
|
+
|
34
|
+
def group_name(arg=nil)
|
35
|
+
set_or_return(
|
36
|
+
:group_name,
|
37
|
+
arg,
|
38
|
+
:kind_of => [ String ]
|
39
|
+
)
|
40
|
+
end
|
41
|
+
|
42
|
+
def gid(arg=nil)
|
43
|
+
set_or_return(
|
44
|
+
:gid,
|
45
|
+
arg,
|
46
|
+
:kind_of => [ Integer ]
|
47
|
+
)
|
48
|
+
end
|
49
|
+
|
50
|
+
def members(arg=nil)
|
51
|
+
converted_members = arg.is_a?(String) ? [].push(arg) : arg
|
52
|
+
set_or_return(
|
53
|
+
:members,
|
54
|
+
converted_members,
|
55
|
+
:kind_of => [ Array ]
|
56
|
+
)
|
57
|
+
end
|
58
|
+
|
59
|
+
def append(arg=nil)
|
60
|
+
set_or_return(
|
61
|
+
:append,
|
62
|
+
arg,
|
63
|
+
:kind_of => [ TrueClass, FalseClass ]
|
64
|
+
)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|