admin_module 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +19 -0
- data/.rspec +3 -0
- data/Gemfile +14 -0
- data/Guardfile +24 -0
- data/LICENSE +22 -0
- data/README.md +281 -0
- data/Rakefile +98 -0
- data/admin_module.gemspec +34 -0
- data/bin/admin_module +13 -0
- data/lib/admin_module.rb +260 -0
- data/lib/admin_module/cli.rb +54 -0
- data/lib/admin_module/cli/cli_guideline.rb +80 -0
- data/lib/admin_module/cli/cli_lock.rb +149 -0
- data/lib/admin_module/cli/cli_parameter.rb +66 -0
- data/lib/admin_module/cli/cli_task.rb +149 -0
- data/lib/admin_module/cli_old.rb +92 -0
- data/lib/admin_module/client.rb +146 -0
- data/lib/admin_module/command.rb +25 -0
- data/lib/admin_module/command/client_access.rb +43 -0
- data/lib/admin_module/command/config.rb +310 -0
- data/lib/admin_module/command/dc.rb +110 -0
- data/lib/admin_module/command/gdl.rb +71 -0
- data/lib/admin_module/command/lock.rb +110 -0
- data/lib/admin_module/command/ppm.rb +142 -0
- data/lib/admin_module/command/rule.rb +77 -0
- data/lib/admin_module/command/ruleset.rb +56 -0
- data/lib/admin_module/command/snapshot.rb +110 -0
- data/lib/admin_module/command/stage.rb +131 -0
- data/lib/admin_module/command/task.rb +110 -0
- data/lib/admin_module/config_helper.rb +33 -0
- data/lib/admin_module/dc.rb +133 -0
- data/lib/admin_module/guideline.rb +86 -0
- data/lib/admin_module/locks.rb +142 -0
- data/lib/admin_module/page_factory.rb +55 -0
- data/lib/admin_module/pages.rb +120 -0
- data/lib/admin_module/pages/dc_definitions_page.rb +73 -0
- data/lib/admin_module/pages/dc_detail_page.rb +187 -0
- data/lib/admin_module/pages/guideline_page.rb +35 -0
- data/lib/admin_module/pages/guideline_version_page.rb +140 -0
- data/lib/admin_module/pages/guidelines_page.rb +59 -0
- data/lib/admin_module/pages/guidelines_version_all_page.rb +116 -0
- data/lib/admin_module/pages/lock_definition_page.rb +178 -0
- data/lib/admin_module/pages/lock_definitions_page.rb +69 -0
- data/lib/admin_module/pages/login_page.rb +75 -0
- data/lib/admin_module/pages/parameter_page.rb +62 -0
- data/lib/admin_module/pages/parameters_page.rb +46 -0
- data/lib/admin_module/pages/ppms_page.rb +110 -0
- data/lib/admin_module/pages/rule_page.rb +68 -0
- data/lib/admin_module/pages/rules_page.rb +74 -0
- data/lib/admin_module/pages/ruleset_page.rb +64 -0
- data/lib/admin_module/pages/rulesets_page.rb +60 -0
- data/lib/admin_module/pages/select_list_syncable.rb +64 -0
- data/lib/admin_module/pages/snapshot_definitions_page.rb +73 -0
- data/lib/admin_module/pages/snapshot_detail_page.rb +246 -0
- data/lib/admin_module/pages/workflow_detail_page.rb +451 -0
- data/lib/admin_module/pages/workflow_detail_task_addl_detail_page.rb +172 -0
- data/lib/admin_module/pages/workflow_detail_task_mappings_page.rb +163 -0
- data/lib/admin_module/pages/workflow_detail_task_screens_page.rb +75 -0
- data/lib/admin_module/pages/workflow_details_page.rb +67 -0
- data/lib/admin_module/pages/workflow_task_page.rb +107 -0
- data/lib/admin_module/pages/workflow_tasks_page.rb +111 -0
- data/lib/admin_module/ppms.rb +78 -0
- data/lib/admin_module/rake.rb +22 -0
- data/lib/admin_module/rake/dc_tasks.rb +185 -0
- data/lib/admin_module/rake/deploy_task.rb +59 -0
- data/lib/admin_module/rake/gdl_tasks.rb +189 -0
- data/lib/admin_module/rake/lock_tasks.rb +189 -0
- data/lib/admin_module/rake/parameter_task.rb +86 -0
- data/lib/admin_module/rake/ppm_tasks.rb +248 -0
- data/lib/admin_module/rake/rule_tasks.rb +157 -0
- data/lib/admin_module/rake/snapshot_tasks.rb +223 -0
- data/lib/admin_module/rake/stage_tasks.rb +197 -0
- data/lib/admin_module/rake/stages_task.rb +197 -0
- data/lib/admin_module/rake/task_tasks.rb +189 -0
- data/lib/admin_module/rules.rb +50 -0
- data/lib/admin_module/rulesets.rb +42 -0
- data/lib/admin_module/snapshots.rb +133 -0
- data/lib/admin_module/stages.rb +171 -0
- data/lib/admin_module/tasks.rb +147 -0
- data/lib/admin_module/version.rb +3 -0
- data/old_spec/lib/admin_module/cli_configuration_spec.rb +126 -0
- data/old_spec/lib/admin_module/cli_create_stage_spec.rb +89 -0
- data/old_spec/lib/admin_module/cli_delete_rule_spec.rb +57 -0
- data/old_spec/lib/admin_module/cli_deploy_spec.rb +57 -0
- data/old_spec/lib/admin_module/cli_export_locks_spec.rb +62 -0
- data/old_spec/lib/admin_module/cli_export_stages_spec.rb +62 -0
- data/old_spec/lib/admin_module/cli_guidelines_version_all_spec.rb +58 -0
- data/old_spec/lib/admin_module/cli_import_locks_spec.rb +153 -0
- data/old_spec/lib/admin_module/cli_import_stages_spec.rb +173 -0
- data/old_spec/lib/admin_module/cli_modify_locks_spec.rb +128 -0
- data/old_spec/lib/admin_module/cli_modify_stages_spec.rb +88 -0
- data/old_spec/lib/admin_module/cli_rename_rule_spec.rb +53 -0
- data/old_spec/lib/admin_module/cli_rename_ruleset_spec.rb +53 -0
- data/old_spec/lib/admin_module/cli_var_spec.rb +41 -0
- data/old_spec/lib/admin_module/rake/deploy_task_spec.rb +85 -0
- data/old_spec/lib/admin_module/rake/parameter_task_spec.rb +58 -0
- data/old_spec/lib/admin_module/rake/rules_task_spec.rb +75 -0
- data/spec/data/build/test1.xml +0 -0
- data/spec/data/build/test2.xml +1 -0
- data/spec/data/import_dcs.yml +31 -0
- data/spec/data/import_locks.yml +4 -0
- data/spec/data/import_snapshots.yml +35 -0
- data/spec/data/import_stages.yml +4 -0
- data/spec/data/import_tasks.yml +25 -0
- data/spec/data/patch-test.xml +1 -0
- data/spec/data/remove_test_del_rule.xml +1 -0
- data/spec/data/stages.yml +518 -0
- data/spec/data/test_del_rule.xml +1 -0
- data/spec/lib/admin_module/admin_module_spec.rb +175 -0
- data/spec/lib/admin_module/cli_spec.rb +36 -0
- data/spec/lib/admin_module/client_spec.rb +158 -0
- data/spec/lib/admin_module/command/config_spec.rb +477 -0
- data/spec/lib/admin_module/command/dc_spec.rb +202 -0
- data/spec/lib/admin_module/command/gdl_spec.rb +139 -0
- data/spec/lib/admin_module/command/lock_spec.rb +207 -0
- data/spec/lib/admin_module/command/rule_spec.rb +163 -0
- data/spec/lib/admin_module/command/ruleset_spec.rb +124 -0
- data/spec/lib/admin_module/command/snapshot_spec.rb +202 -0
- data/spec/lib/admin_module/command/stage_spec.rb +259 -0
- data/spec/lib/admin_module/command/task_spec.rb +207 -0
- data/spec/lib/admin_module/dc_spec.rb +192 -0
- data/spec/lib/admin_module/guideline_spec.rb +177 -0
- data/spec/lib/admin_module/locks_spec.rb +188 -0
- data/spec/lib/admin_module/rules_spec.rb +110 -0
- data/spec/lib/admin_module/rulesets_spec.rb +85 -0
- data/spec/lib/admin_module/snapshot_spec.rb +192 -0
- data/spec/lib/admin_module/stages_spec.rb +179 -0
- data/spec/lib/admin_module/tasks_spec.rb +196 -0
- data/spec/spec_helper.rb +54 -0
- data/spec/support/asserts.rb +13 -0
- data/spec/support/data_clearing.rb +28 -0
- data/spec/support/dirs.rb +54 -0
- data/spec/support/helpers.rb +83 -0
- data/spec/support/lock.rb +23 -0
- data/spec/support/mocks.rb +213 -0
- data/spec/support/snapshot.rb +28 -0
- data/spec/support/stage.rb +22 -0
- data/spec/support/stage_factory.rb +138 -0
- data/spec/support/task.rb +23 -0
- metadata +381 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
##############################################################################
|
|
2
|
+
# File:: gdl.rb
|
|
3
|
+
# Purpose:: filedescription
|
|
4
|
+
#
|
|
5
|
+
# Author:: Jeff McAffee 2014-06-28
|
|
6
|
+
#
|
|
7
|
+
##############################################################################
|
|
8
|
+
|
|
9
|
+
module AdminModule
|
|
10
|
+
module Command
|
|
11
|
+
class Gdl < Thor
|
|
12
|
+
include AdminModule::Command::ClientAccess
|
|
13
|
+
|
|
14
|
+
class_option :environment, :banner => "dev", :aliases => :e
|
|
15
|
+
|
|
16
|
+
desc "deploy <srcdir> <comments>",
|
|
17
|
+
"Deploy all XML files in <srcdir> with version <comments>"
|
|
18
|
+
long_desc <<-LD
|
|
19
|
+
Deploy all XML files in <srcdir> with version <comments>.
|
|
20
|
+
|
|
21
|
+
With -e <env>, sets the environment to work with.
|
|
22
|
+
|
|
23
|
+
With -f <file_xml>, only deploy a single file.
|
|
24
|
+
|
|
25
|
+
With -t <target_gdl>, sets the guideline to update (only valid with -f option).
|
|
26
|
+
LD
|
|
27
|
+
option :file, :banner => "<file_xml>", :aliases => :f
|
|
28
|
+
option :target, :banner => "<target_gdl>", :aliases => :t
|
|
29
|
+
def deploy(srcdir, comments = nil)
|
|
30
|
+
gdl = client.guideline
|
|
31
|
+
|
|
32
|
+
if options[:file]
|
|
33
|
+
srcfile = Pathname(srcdir) + options[:file]
|
|
34
|
+
gdl.deploy_file(srcfile, comments)
|
|
35
|
+
else
|
|
36
|
+
gdl.deploy(srcdir, comments)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
client.logout
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
desc "version <comments>",
|
|
43
|
+
"Version guidelines with <comments>"
|
|
44
|
+
long_desc <<-LD
|
|
45
|
+
Version guidelines with provided comments. Comments are optional.
|
|
46
|
+
|
|
47
|
+
By default, all configured guidelines are versioned.
|
|
48
|
+
Use -t option to version a specific guideline.
|
|
49
|
+
|
|
50
|
+
With -e <env>, sets the environment to work with.
|
|
51
|
+
|
|
52
|
+
With -t <gdlname>, versions a specific guideline.
|
|
53
|
+
LD
|
|
54
|
+
option :target, :banner => "<target_gdl>", :aliases => :t
|
|
55
|
+
def version(comments = nil)
|
|
56
|
+
gdl = client.guideline
|
|
57
|
+
|
|
58
|
+
gdls = [options[:target]] unless options[:target].nil?
|
|
59
|
+
gdls = AdminModule.configuration.xmlmaps.values.uniq if options[:target].nil?
|
|
60
|
+
if gdls.empty?
|
|
61
|
+
say "aborting version. no guidelines configured", :red
|
|
62
|
+
return
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
gdl.version(gdls, comments)
|
|
66
|
+
|
|
67
|
+
client.logout
|
|
68
|
+
end
|
|
69
|
+
end # Gdl
|
|
70
|
+
end
|
|
71
|
+
end # AdminModule
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
##############################################################################
|
|
2
|
+
# File:: lock.rb
|
|
3
|
+
# Purpose:: Lock command line interface
|
|
4
|
+
#
|
|
5
|
+
# Author:: Jeff McAffee 2014-06-28
|
|
6
|
+
#
|
|
7
|
+
##############################################################################
|
|
8
|
+
|
|
9
|
+
module AdminModule
|
|
10
|
+
module Command
|
|
11
|
+
class Lock < Thor
|
|
12
|
+
include AdminModule::Command::ClientAccess
|
|
13
|
+
|
|
14
|
+
class_option :environment, :banner => "dev", :aliases => :e
|
|
15
|
+
|
|
16
|
+
desc "rename <srcname> <destname>",
|
|
17
|
+
"Rename a lock named <srcname> to <destname>"
|
|
18
|
+
long_desc <<-LD
|
|
19
|
+
Rename a lock with the name <srcname> to <destname>.
|
|
20
|
+
|
|
21
|
+
With -e <env>, sets the environment to work with.
|
|
22
|
+
|
|
23
|
+
This operation will fail if the source lock does not exist or
|
|
24
|
+
if the destination lock name already exists.
|
|
25
|
+
LD
|
|
26
|
+
def rename(src, dest)
|
|
27
|
+
cl = client.locks
|
|
28
|
+
|
|
29
|
+
cl.rename src, dest
|
|
30
|
+
|
|
31
|
+
rescue ArgumentError => e
|
|
32
|
+
say e.message, :red
|
|
33
|
+
|
|
34
|
+
ensure
|
|
35
|
+
client.logout
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
desc "list",
|
|
39
|
+
"List all locks in the environment"
|
|
40
|
+
long_desc <<-LD
|
|
41
|
+
List all locks in the current environment.
|
|
42
|
+
|
|
43
|
+
With -e <env>, sets the environment to work with.
|
|
44
|
+
LD
|
|
45
|
+
def list
|
|
46
|
+
cl = client.locks
|
|
47
|
+
list = cl.list
|
|
48
|
+
|
|
49
|
+
list.each { |r| say r; }
|
|
50
|
+
|
|
51
|
+
ensure
|
|
52
|
+
client.logout
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
desc "import <filepath>",
|
|
56
|
+
"Import a lock configuration file into the environment"
|
|
57
|
+
long_desc <<-LD
|
|
58
|
+
Import a lock configuration file into the environment.
|
|
59
|
+
|
|
60
|
+
<filepath> is a path to a YAML configuration file to import.
|
|
61
|
+
|
|
62
|
+
With -e <env>, sets the environment to work with.
|
|
63
|
+
LD
|
|
64
|
+
def import filepath
|
|
65
|
+
cl = client.locks
|
|
66
|
+
cl.import filepath
|
|
67
|
+
|
|
68
|
+
ensure
|
|
69
|
+
client.logout
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
desc "export <filepath>",
|
|
73
|
+
"Export a lock configuration file from the environment"
|
|
74
|
+
long_desc <<-LD
|
|
75
|
+
Export a lock configuration file from the environment.
|
|
76
|
+
|
|
77
|
+
<filepath> path where the YAML configuration file will be exported to.
|
|
78
|
+
|
|
79
|
+
With -e <env>, sets the environment to work with.
|
|
80
|
+
LD
|
|
81
|
+
def export filepath
|
|
82
|
+
cl = client.locks
|
|
83
|
+
cl.export filepath
|
|
84
|
+
|
|
85
|
+
ensure
|
|
86
|
+
client.logout
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
desc "read <name>",
|
|
90
|
+
"Emit a lock's configuration from the environment in YAML format"
|
|
91
|
+
long_desc <<-LD
|
|
92
|
+
Emit a lock's configuration from the environment in YAML format.
|
|
93
|
+
|
|
94
|
+
<name> of lock to dump.
|
|
95
|
+
|
|
96
|
+
With -e <env>, sets the environment to work with.
|
|
97
|
+
LD
|
|
98
|
+
def read name
|
|
99
|
+
cl = client.locks
|
|
100
|
+
data = cl.read(name)
|
|
101
|
+
output = Hash.new
|
|
102
|
+
output[name] = data
|
|
103
|
+
$stdout << output.to_yaml
|
|
104
|
+
|
|
105
|
+
ensure
|
|
106
|
+
client.logout
|
|
107
|
+
end
|
|
108
|
+
end # Lock
|
|
109
|
+
end
|
|
110
|
+
end # AdminModule
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
##############################################################################
|
|
2
|
+
# File:: ppm.rb
|
|
3
|
+
# Purpose:: PPM command line interface
|
|
4
|
+
#
|
|
5
|
+
# Author:: Jeff McAffee 2015-06-23
|
|
6
|
+
#
|
|
7
|
+
##############################################################################
|
|
8
|
+
|
|
9
|
+
module AdminModule
|
|
10
|
+
module Command
|
|
11
|
+
class Ppm < Thor
|
|
12
|
+
include AdminModule::Command::ClientAccess
|
|
13
|
+
|
|
14
|
+
class_option :environment, :banner => "dev", :aliases => :e
|
|
15
|
+
|
|
16
|
+
#desc "rename <srcname> <destname>",
|
|
17
|
+
# "Rename a lock named <srcname> to <destname>"
|
|
18
|
+
#long_desc <<-LD
|
|
19
|
+
# Rename a lock with the name <srcname> to <destname>.
|
|
20
|
+
|
|
21
|
+
# With -e <env>, sets the environment to work with.
|
|
22
|
+
|
|
23
|
+
# This operation will fail if the source lock does not exist or
|
|
24
|
+
# if the destination lock name already exists.
|
|
25
|
+
#LD
|
|
26
|
+
#def rename(src, dest)
|
|
27
|
+
# cl = client.locks
|
|
28
|
+
|
|
29
|
+
# cl.rename src, dest
|
|
30
|
+
|
|
31
|
+
#rescue ArgumentError => e
|
|
32
|
+
# say e.message, :red
|
|
33
|
+
|
|
34
|
+
#ensure
|
|
35
|
+
# client.logout
|
|
36
|
+
#end
|
|
37
|
+
|
|
38
|
+
desc "list",
|
|
39
|
+
"List PPMs in the environment"
|
|
40
|
+
long_desc <<-LD
|
|
41
|
+
List PPMs in the current environment.
|
|
42
|
+
|
|
43
|
+
With -e <env>, sets the environment to work with.
|
|
44
|
+
LD
|
|
45
|
+
def list
|
|
46
|
+
cl = client.ppms
|
|
47
|
+
list = cl.list
|
|
48
|
+
|
|
49
|
+
list.each { |r| say r; }
|
|
50
|
+
|
|
51
|
+
ensure
|
|
52
|
+
client.logout
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
desc "import <filepath>",
|
|
56
|
+
"Import a PPM configuration file into the environment"
|
|
57
|
+
long_desc <<-LD
|
|
58
|
+
Import a PPM configuration file into the environment.
|
|
59
|
+
|
|
60
|
+
<filepath> is a path to a YAML configuration file to import.
|
|
61
|
+
|
|
62
|
+
With -e <env>, sets the environment to work with.
|
|
63
|
+
LD
|
|
64
|
+
def import filepath
|
|
65
|
+
cl = client.ppms
|
|
66
|
+
cl.import filepath
|
|
67
|
+
|
|
68
|
+
ensure
|
|
69
|
+
client.logout
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
desc "export <filepath>",
|
|
73
|
+
"Export a PPM configuration file from the environment"
|
|
74
|
+
long_desc <<-LD
|
|
75
|
+
Export a PPM configuration file from the environment.
|
|
76
|
+
|
|
77
|
+
<filepath> path where the YAML configuration file will be exported to.
|
|
78
|
+
|
|
79
|
+
With -e <env>, sets the environment to work with.
|
|
80
|
+
LD
|
|
81
|
+
def export filepath
|
|
82
|
+
cl = client.ppms
|
|
83
|
+
cl.export filepath
|
|
84
|
+
|
|
85
|
+
ensure
|
|
86
|
+
client.logout
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
method_option :format, :default => "txt", :aliases => '-f', :banner => "format=FMT", :desc => "output format", :type => :string, :enum => ['txt','csv']
|
|
90
|
+
desc "dups",
|
|
91
|
+
"List duplicate PPMs in the environment"
|
|
92
|
+
long_desc <<-LD
|
|
93
|
+
List duplicate PPMs found in the environment.
|
|
94
|
+
|
|
95
|
+
With -e <env>, sets the environment to work with.
|
|
96
|
+
LD
|
|
97
|
+
def dups
|
|
98
|
+
cl = client.ppms
|
|
99
|
+
data = cl.dups
|
|
100
|
+
output_method = "output_as_#{options[:format]}"
|
|
101
|
+
|
|
102
|
+
if self.respond_to? output_method
|
|
103
|
+
self.send(output_method, data)
|
|
104
|
+
else
|
|
105
|
+
$stderr << "Invalid format: #{options[:format]}"
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
ensure
|
|
109
|
+
client.logout
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
private
|
|
113
|
+
|
|
114
|
+
def output_as_txt data
|
|
115
|
+
if data.count > 0
|
|
116
|
+
$stdout << " Name ID\n"
|
|
117
|
+
$stdout << '-'*79 << "\n"
|
|
118
|
+
else
|
|
119
|
+
$stdout << 'No duplicates found'
|
|
120
|
+
return
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
data.each do |dp|
|
|
124
|
+
$stdout << "#{dp[:name]}\t#{dp[:id]}\n"
|
|
125
|
+
end
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
def output_as_csv data
|
|
129
|
+
if data.count > 0
|
|
130
|
+
$stdout << "Name,ID\n"
|
|
131
|
+
else
|
|
132
|
+
$stdout << 'No duplicates found'
|
|
133
|
+
return
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
data.each do |dp|
|
|
137
|
+
$stdout << "#{dp[:name]},#{dp[:id]}\n"
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end # Ppm
|
|
141
|
+
end
|
|
142
|
+
end # AdminModule
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
##############################################################################
|
|
2
|
+
# File:: rule.rb
|
|
3
|
+
# Purpose:: Rule command line interface
|
|
4
|
+
#
|
|
5
|
+
# Author:: Jeff McAffee 2014-06-28
|
|
6
|
+
#
|
|
7
|
+
##############################################################################
|
|
8
|
+
|
|
9
|
+
module AdminModule
|
|
10
|
+
module Command
|
|
11
|
+
class Rule < Thor
|
|
12
|
+
include AdminModule::Command::ClientAccess
|
|
13
|
+
|
|
14
|
+
class_option :environment, :banner => "dev", :aliases => :e
|
|
15
|
+
|
|
16
|
+
desc "rename <srcname> <destname>",
|
|
17
|
+
"Rename a rule named <srcname> to <destname>"
|
|
18
|
+
long_desc <<-LD
|
|
19
|
+
Rename a rule with the name <srcname> to <destname>.
|
|
20
|
+
|
|
21
|
+
With -e <env>, sets the environment to work with.
|
|
22
|
+
|
|
23
|
+
This operation will fail if the source rule does not exist or
|
|
24
|
+
if the destination rule name already exists.
|
|
25
|
+
LD
|
|
26
|
+
def rename(src, dest)
|
|
27
|
+
rs = client.rules
|
|
28
|
+
|
|
29
|
+
rs.rename src, dest
|
|
30
|
+
|
|
31
|
+
rescue ArgumentError => e
|
|
32
|
+
say e.message, :red
|
|
33
|
+
|
|
34
|
+
ensure
|
|
35
|
+
client.logout
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
desc "delete <rulename>",
|
|
39
|
+
"Delete a rule named <rulename>"
|
|
40
|
+
long_desc <<-LD
|
|
41
|
+
Delete a rule with the name <rulename>.
|
|
42
|
+
|
|
43
|
+
With -e <env>, sets the environment to work with.
|
|
44
|
+
|
|
45
|
+
This operation will fail if the rule does not exist.
|
|
46
|
+
LD
|
|
47
|
+
def delete(rule)
|
|
48
|
+
rs = client.rules
|
|
49
|
+
|
|
50
|
+
rs.delete rule
|
|
51
|
+
|
|
52
|
+
rescue ArgumentError => e
|
|
53
|
+
say e.message, :red
|
|
54
|
+
|
|
55
|
+
ensure
|
|
56
|
+
client.logout
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
desc "list",
|
|
60
|
+
"List all rules in the environment"
|
|
61
|
+
long_desc <<-LD
|
|
62
|
+
List all rules in the current environment.
|
|
63
|
+
|
|
64
|
+
With -e <env>, sets the environment to work with.
|
|
65
|
+
LD
|
|
66
|
+
def list
|
|
67
|
+
rs = client.rules
|
|
68
|
+
list = rs.list
|
|
69
|
+
|
|
70
|
+
list.each { |r| say r; }
|
|
71
|
+
|
|
72
|
+
ensure
|
|
73
|
+
client.logout
|
|
74
|
+
end
|
|
75
|
+
end # Rule
|
|
76
|
+
end
|
|
77
|
+
end # AdminModule
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
##############################################################################
|
|
2
|
+
# File:: ruleset.rb
|
|
3
|
+
# Purpose:: filedescription
|
|
4
|
+
#
|
|
5
|
+
# Author:: Jeff McAffee 2014-06-28
|
|
6
|
+
#
|
|
7
|
+
##############################################################################
|
|
8
|
+
|
|
9
|
+
module AdminModule
|
|
10
|
+
module Command
|
|
11
|
+
class Ruleset < Thor
|
|
12
|
+
include AdminModule::Command::ClientAccess
|
|
13
|
+
|
|
14
|
+
class_option :environment, :banner => "dev", :aliases => :e
|
|
15
|
+
|
|
16
|
+
desc "rename <srcname> <destname>",
|
|
17
|
+
"Rename a ruleset named <srcname> to <destname>"
|
|
18
|
+
long_desc <<-LD
|
|
19
|
+
Renme a ruleset with the name <srcname> to <destname>.
|
|
20
|
+
|
|
21
|
+
With -e <env>, sets the environment to work with.
|
|
22
|
+
|
|
23
|
+
This operation will fail if the source ruleset does not exist or
|
|
24
|
+
if the destination ruleset name already exists.
|
|
25
|
+
LD
|
|
26
|
+
def rename(src, dest)
|
|
27
|
+
rs = client.rulesets
|
|
28
|
+
|
|
29
|
+
rs.rename src, dest
|
|
30
|
+
|
|
31
|
+
rescue ArgumentError => e
|
|
32
|
+
say e.message, :red
|
|
33
|
+
|
|
34
|
+
ensure
|
|
35
|
+
client.logout
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
desc "list",
|
|
39
|
+
"List all rulesets in the environment"
|
|
40
|
+
long_desc <<-LD
|
|
41
|
+
List all rulesets in the current environment.
|
|
42
|
+
|
|
43
|
+
With -e <env>, sets the environment to work with.
|
|
44
|
+
LD
|
|
45
|
+
def list
|
|
46
|
+
rs = client.rulesets
|
|
47
|
+
list = rs.list
|
|
48
|
+
|
|
49
|
+
list.each { |r| say r; }
|
|
50
|
+
|
|
51
|
+
ensure
|
|
52
|
+
client.logout
|
|
53
|
+
end
|
|
54
|
+
end # Ruleset
|
|
55
|
+
end
|
|
56
|
+
end # AdminModule
|