ruby_aem 1.0.2 → 1.0.6
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 +4 -4
- data/conf/spec.yaml +15 -4
- data/lib/ruby_aem/resources/aem.rb +67 -0
- data/lib/ruby_aem/resources/config_property.rb +3 -1
- data/lib/ruby_aem/resources/package.rb +1 -1
- data/lib/ruby_aem/resources/replication_agent.rb +1 -1
- data/lib/ruby_aem.rb +8 -0
- metadata +17 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd2ed673ae15b68e95ab826d68fcbe626be9d311
|
4
|
+
data.tar.gz: 05a5ce3cbb7b71bd803e0e84ea3bde75c8f5cfe9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9575353f79e67a36b1ff72c710ab178e8589459e07a415fd4597809b9e95911cd1f55f2cf54e7fd15708adab7094d5a433bb3a718617f08e169fef485d9754e
|
7
|
+
data.tar.gz: d031a4e54a02d5fd02313e91ae108ba01495dd892b1b69e8b1c5d0736840ac369778846648784ead03a45af3296044568f563ee8110e6c0df18bb873277cd52e
|
data/conf/spec.yaml
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
aem:
|
2
|
+
actions:
|
3
|
+
get_login_page:
|
4
|
+
api: cq
|
5
|
+
operation: getLoginPage
|
6
|
+
params:
|
7
|
+
required:
|
8
|
+
responses:
|
9
|
+
200:
|
10
|
+
handler: simple
|
11
|
+
message: 'Login page retrieved'
|
1
12
|
bundle:
|
2
13
|
responses:
|
3
14
|
404:
|
@@ -358,11 +369,11 @@ configproperty:
|
|
358
369
|
actions:
|
359
370
|
create:
|
360
371
|
api: sling
|
361
|
-
operation:
|
372
|
+
operation: postConfig
|
362
373
|
params:
|
363
374
|
required:
|
364
375
|
runmode: '%{run_mode}'
|
365
|
-
name: '%{
|
376
|
+
name: '%{node_name}'
|
366
377
|
optional:
|
367
378
|
- org_apache_felix_https_nio
|
368
379
|
- org_apache_felix_https_nio_type_hint
|
@@ -387,10 +398,10 @@ configproperty:
|
|
387
398
|
responses:
|
388
399
|
200:
|
389
400
|
handler: simple
|
390
|
-
message: 'Set %{run_mode} config %{type} property %{name}=%{value}'
|
401
|
+
message: 'Set %{run_mode} %{node_name} config %{type} property %{name}=%{value}'
|
391
402
|
201:
|
392
403
|
handler: simple
|
393
|
-
message: 'Set %{run_mode} config %{type} property %{name}=%{value}'
|
404
|
+
message: 'Set %{run_mode} %{node_name} config %{type} property %{name}=%{value}'
|
394
405
|
replicationagent:
|
395
406
|
responses:
|
396
407
|
404:
|
@@ -0,0 +1,67 @@
|
|
1
|
+
=begin
|
2
|
+
Copyright 2016 Shine Solutions
|
3
|
+
|
4
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
you may not use this file except in compliance with the License.
|
6
|
+
You may obtain a copy of the License at
|
7
|
+
|
8
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
|
10
|
+
Unless required by applicable law or agreed to in writing, software
|
11
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
See the License for the specific language governing permissions and
|
14
|
+
limitations under the License.
|
15
|
+
=end
|
16
|
+
|
17
|
+
require 'retries'
|
18
|
+
require 'ruby_aem/error'
|
19
|
+
|
20
|
+
module RubyAem
|
21
|
+
module Resources
|
22
|
+
# AEM class contains API calls related to managing the AEM instance itself.
|
23
|
+
class Aem
|
24
|
+
|
25
|
+
# Initialise an AEM instance.
|
26
|
+
#
|
27
|
+
# @param client RubyAem::Client
|
28
|
+
# @return new RubyAem::Resources::Aem instance
|
29
|
+
def initialize(client)
|
30
|
+
@client = client
|
31
|
+
@call_params = {
|
32
|
+
}
|
33
|
+
end
|
34
|
+
|
35
|
+
# Retrieve AEM login page.
|
36
|
+
#
|
37
|
+
# @return RubyAem::Result
|
38
|
+
def get_login_page()
|
39
|
+
@client.call(self.class, __callee__.to_s, @call_params)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Retrieve AEM login page with retries until it is successful.
|
43
|
+
# This is handy for waiting for AEM to start or restart Jetty.
|
44
|
+
#
|
45
|
+
# @return RubyAem::Result
|
46
|
+
def get_login_page_wait_until_ready()
|
47
|
+
result = nil
|
48
|
+
with_retries(:max_tries => 30, :base_sleep_seconds => 2, :max_sleep_seconds => 2) { |retries_count|
|
49
|
+
begin
|
50
|
+
result = get_login_page()
|
51
|
+
if result.response.body !~ /QUICKSTART_HOMEPAGE/
|
52
|
+
puts 'Retrieve login page attempt #%d: %s but not ready yet' % [retries_count, result.message]
|
53
|
+
raise StandardError.new(result.message)
|
54
|
+
else
|
55
|
+
puts 'Retrieve login page attempt #%d: %s and ready' % [retries_count, result.message]
|
56
|
+
end
|
57
|
+
rescue RubyAem::Error => err
|
58
|
+
puts 'Retrieve login page attempt #%d: %s' % [retries_count, err.message]
|
59
|
+
raise StandardError.new(err.message)
|
60
|
+
end
|
61
|
+
}
|
62
|
+
result
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -38,11 +38,13 @@ module RubyAem
|
|
38
38
|
# Create a new config property.
|
39
39
|
#
|
40
40
|
# @param run_mode AEM run mode: author or publish
|
41
|
+
# @param node_name the node name under /apps/system/config.{run_mode}/ where the property will be part of
|
41
42
|
# @return RubyAem::Result
|
42
|
-
def create(run_mode)
|
43
|
+
def create(run_mode, node_name)
|
43
44
|
|
44
45
|
name = RubyAem::Swagger.property_to_parameter(@call_params[:name])
|
45
46
|
|
47
|
+
@call_params[:node_name] = node_name
|
46
48
|
@call_params[:run_mode] = run_mode
|
47
49
|
@call_params["#{name}".to_sym] = @call_params[:value]
|
48
50
|
@call_params["#{name}_type_hint".to_sym] = @call_params[:type]
|
@@ -174,7 +174,7 @@ module RubyAem
|
|
174
174
|
package = packages.xpath("//packages/package[group=\"#{@call_params[:group_name]}\" and name=\"#{@call_params[:package_name]}\" and version=\"#{@call_params[:package_version]}\"]")
|
175
175
|
last_unpacked_by = package.xpath('lastUnpackedBy')
|
176
176
|
|
177
|
-
if not ['<lastUnpackedBy/>', '<lastUnpackedBy>null</lastUnpackedBy>'].include? last_unpacked_by.to_s
|
177
|
+
if not ['', '<lastUnpackedBy/>', '<lastUnpackedBy>null</lastUnpackedBy>'].include? last_unpacked_by.to_s
|
178
178
|
message = "Package #{@call_params[:group_name]}/#{@call_params[:package_name]}-#{@call_params[:package_version]} is installed"
|
179
179
|
is_installed = true
|
180
180
|
else
|
@@ -40,7 +40,7 @@ module RubyAem
|
|
40
40
|
# @param dest_base_url base URL of the agent target destination, e.g. https://somepublisher:4503
|
41
41
|
# @param opts optional parameters:
|
42
42
|
# - transport_user: username for transport user, default is admin
|
43
|
-
# - transport_password:
|
43
|
+
# - transport_password: password for transport user, default is admin
|
44
44
|
# - log_level: error, info, debug, default is error
|
45
45
|
# - retry_delay: in milliseconds, default is 30000
|
46
46
|
# @return RubyAem::Result
|
data/lib/ruby_aem.rb
CHANGED
@@ -15,6 +15,7 @@ limitations under the License.
|
|
15
15
|
=end
|
16
16
|
|
17
17
|
require 'ruby_aem/client'
|
18
|
+
require 'ruby_aem/resources/aem'
|
18
19
|
require 'ruby_aem/resources/bundle'
|
19
20
|
require 'ruby_aem/resources/config_property'
|
20
21
|
require 'ruby_aem/resources/flush_agent'
|
@@ -71,6 +72,13 @@ module RubyAem
|
|
71
72
|
@client = RubyAem::Client.new(apis, spec)
|
72
73
|
end
|
73
74
|
|
75
|
+
# Create an AEM instance.
|
76
|
+
#
|
77
|
+
# @return new RubyAem::Resources::Aem instance
|
78
|
+
def aem()
|
79
|
+
RubyAem::Resources::Aem.new(@client)
|
80
|
+
end
|
81
|
+
|
74
82
|
# Create a bundle instance.
|
75
83
|
#
|
76
84
|
# @param name the bundle's name, e.g. com.adobe.cq.social.cq-social-forum
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_aem
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shine Solutions
|
@@ -9,106 +9,76 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-01-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - ~>
|
19
19
|
- !ruby/object:Gem::Version
|
20
20
|
version: '1.6'
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 1.6.8
|
24
21
|
type: :runtime
|
25
22
|
prerelease: false
|
26
23
|
version_requirements: !ruby/object:Gem::Requirement
|
27
24
|
requirements:
|
28
|
-
- -
|
25
|
+
- - ~>
|
29
26
|
- !ruby/object:Gem::Version
|
30
27
|
version: '1.6'
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 1.6.8
|
34
28
|
- !ruby/object:Gem::Dependency
|
35
29
|
name: retries
|
36
30
|
requirement: !ruby/object:Gem::Requirement
|
37
31
|
requirements:
|
38
|
-
- -
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0.0'
|
41
|
-
- - ">="
|
32
|
+
- - ~>
|
42
33
|
- !ruby/object:Gem::Version
|
43
34
|
version: 0.0.5
|
44
35
|
type: :runtime
|
45
36
|
prerelease: false
|
46
37
|
version_requirements: !ruby/object:Gem::Requirement
|
47
38
|
requirements:
|
48
|
-
- -
|
49
|
-
- !ruby/object:Gem::Version
|
50
|
-
version: '0.0'
|
51
|
-
- - ">="
|
39
|
+
- - ~>
|
52
40
|
- !ruby/object:Gem::Version
|
53
41
|
version: 0.0.5
|
54
42
|
- !ruby/object:Gem::Dependency
|
55
43
|
name: swagger_aem
|
56
44
|
requirement: !ruby/object:Gem::Requirement
|
57
45
|
requirements:
|
58
|
-
- -
|
59
|
-
- !ruby/object:Gem::Version
|
60
|
-
version: '0.9'
|
61
|
-
- - ">="
|
46
|
+
- - ~>
|
62
47
|
- !ruby/object:Gem::Version
|
63
|
-
version: 0.9.
|
48
|
+
version: 0.9.4
|
64
49
|
type: :runtime
|
65
50
|
prerelease: false
|
66
51
|
version_requirements: !ruby/object:Gem::Requirement
|
67
52
|
requirements:
|
68
|
-
- -
|
53
|
+
- - ~>
|
69
54
|
- !ruby/object:Gem::Version
|
70
|
-
version:
|
71
|
-
- - ">="
|
72
|
-
- !ruby/object:Gem::Version
|
73
|
-
version: 0.9.2
|
55
|
+
version: 0.9.4
|
74
56
|
- !ruby/object:Gem::Dependency
|
75
57
|
name: rspec
|
76
58
|
requirement: !ruby/object:Gem::Requirement
|
77
59
|
requirements:
|
78
|
-
- -
|
60
|
+
- - ~>
|
79
61
|
- !ruby/object:Gem::Version
|
80
62
|
version: '3.4'
|
81
|
-
- - ">="
|
82
|
-
- !ruby/object:Gem::Version
|
83
|
-
version: 3.4.0
|
84
63
|
type: :development
|
85
64
|
prerelease: false
|
86
65
|
version_requirements: !ruby/object:Gem::Requirement
|
87
66
|
requirements:
|
88
|
-
- -
|
67
|
+
- - ~>
|
89
68
|
- !ruby/object:Gem::Version
|
90
69
|
version: '3.4'
|
91
|
-
- - ">="
|
92
|
-
- !ruby/object:Gem::Version
|
93
|
-
version: 3.4.0
|
94
70
|
- !ruby/object:Gem::Dependency
|
95
71
|
name: yard
|
96
72
|
requirement: !ruby/object:Gem::Requirement
|
97
73
|
requirements:
|
98
|
-
- -
|
99
|
-
- !ruby/object:Gem::Version
|
100
|
-
version: '0.9'
|
101
|
-
- - ">="
|
74
|
+
- - ~>
|
102
75
|
- !ruby/object:Gem::Version
|
103
76
|
version: 0.9.5
|
104
77
|
type: :development
|
105
78
|
prerelease: false
|
106
79
|
version_requirements: !ruby/object:Gem::Requirement
|
107
80
|
requirements:
|
108
|
-
- -
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0.9'
|
111
|
-
- - ">="
|
81
|
+
- - ~>
|
112
82
|
- !ruby/object:Gem::Version
|
113
83
|
version: 0.9.5
|
114
84
|
description: ruby_aem is a Ruby client for Adobe Experience Manager (AEM) API, written
|
@@ -129,6 +99,7 @@ files:
|
|
129
99
|
- lib/ruby_aem/handlers/json.rb
|
130
100
|
- lib/ruby_aem/handlers/simple.rb
|
131
101
|
- lib/ruby_aem/handlers/xml.rb
|
102
|
+
- lib/ruby_aem/resources/aem.rb
|
132
103
|
- lib/ruby_aem/resources/bundle.rb
|
133
104
|
- lib/ruby_aem/resources/config_property.rb
|
134
105
|
- lib/ruby_aem/resources/flush_agent.rb
|
@@ -152,12 +123,12 @@ require_paths:
|
|
152
123
|
- lib
|
153
124
|
required_ruby_version: !ruby/object:Gem::Requirement
|
154
125
|
requirements:
|
155
|
-
- -
|
126
|
+
- - '>='
|
156
127
|
- !ruby/object:Gem::Version
|
157
128
|
version: '1.9'
|
158
129
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
159
130
|
requirements:
|
160
|
-
- -
|
131
|
+
- - '>='
|
161
132
|
- !ruby/object:Gem::Version
|
162
133
|
version: '0'
|
163
134
|
requirements: []
|