ruby_aem 3.17.0 → 4.1.0
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 +5 -5
- data/conf/gem.yaml +2 -1
- data/conf/spec.yaml +105 -80
- data/lib/ruby_aem/client.rb +6 -8
- data/lib/ruby_aem/error.rb +6 -1
- data/lib/ruby_aem/handlers/file.rb +1 -1
- data/lib/ruby_aem/handlers/html.rb +3 -1
- data/lib/ruby_aem/handlers/json.rb +3 -3
- data/lib/ruby_aem/handlers/simple.rb +1 -1
- data/lib/ruby_aem/handlers/xml.rb +1 -1
- data/lib/ruby_aem/resources/aem.rb +5 -6
- data/lib/ruby_aem/resources/aem_configmgr.rb +3 -4
- data/lib/ruby_aem/resources/authorizable_keystore.rb +2 -3
- data/lib/ruby_aem/resources/bundle.rb +1 -1
- data/lib/ruby_aem/resources/certificate.rb +4 -0
- data/lib/ruby_aem/resources/certificate_chain.rb +1 -1
- data/lib/ruby_aem/resources/config_property.rb +1 -1
- data/lib/ruby_aem/resources/flush_agent.rb +3 -1
- data/lib/ruby_aem/resources/group.rb +1 -1
- data/lib/ruby_aem/resources/node.rb +1 -1
- data/lib/ruby_aem/resources/outbox_replication_agent.rb +1 -1
- data/lib/ruby_aem/resources/package.rb +10 -9
- data/lib/ruby_aem/resources/path.rb +1 -1
- data/lib/ruby_aem/resources/replication_agent.rb +1 -1
- data/lib/ruby_aem/resources/repository.rb +1 -1
- data/lib/ruby_aem/resources/reverse_replication_agent.rb +1 -1
- data/lib/ruby_aem/resources/saml.rb +1 -1
- data/lib/ruby_aem/resources/ssl.rb +1 -2
- data/lib/ruby_aem/resources/truststore.rb +3 -1
- data/lib/ruby_aem/resources/user.rb +1 -1
- data/lib/ruby_aem/response.rb +2 -4
- data/lib/ruby_aem/result.rb +2 -3
- data/lib/ruby_aem/swagger.rb +3 -3
- data/lib/ruby_aem.rb +11 -7
- metadata +16 -33
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 364f15252d0e15d5109deb5162c2e68a064436f754fda9839ad0bee7d69a4dbd
|
|
4
|
+
data.tar.gz: bb40460d828167a6b44b3bb921a3cc79621ca063f498a180a9a5b269cc243031
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dfab4aa798fbed53e5fe4b705324db3ba770b1d7b673b6e9508c59d7481fe59d2493ea22c49b6dfd17959062491d6c7693722de6f333f382ac38f833f0847d0c
|
|
7
|
+
data.tar.gz: 394b101dad00b640afb6d207ef0d5e6666b72fc9f1c891b30a2fccdd2a39603b41e3011640eaf3cc872ed61becd07c4dc9eb5f2e9b7f80a1a31e3dcdbf5fbc1e
|
data/conf/gem.yaml
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
version: 4.1.0
|
data/conf/spec.yaml
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Message, path and URI templates are kept on one line, wrapping them risks
|
|
3
|
+
# changing their parsed values.
|
|
4
|
+
# yamllint disable rule:line-length
|
|
5
|
+
|
|
6
|
+
# Optional param names must match the opts keys of the swagger_aem / swagger_aem_osgi
|
|
7
|
+
# generated *_api.rb methods exactly, unknown keys are silently ignored by the client.
|
|
8
|
+
# e.g. swagger_aem 4.0.0 renamed jcrcontent_* to jcr_content_*, reppassword to rep_password,
|
|
9
|
+
# and operation to _operation (plain :operation is overwritten by the generated client).
|
|
10
|
+
# test/unit/spec_yaml_spec.rb checks these names against the installed gems.
|
|
1
11
|
aem:
|
|
2
12
|
actions:
|
|
3
13
|
get_login_page:
|
|
@@ -16,7 +26,7 @@ aem:
|
|
|
16
26
|
required:
|
|
17
27
|
optional:
|
|
18
28
|
tags: '%{tags}'
|
|
19
|
-
|
|
29
|
+
combine_tags_or: '%{combine_tags_or}'
|
|
20
30
|
responses:
|
|
21
31
|
200:
|
|
22
32
|
handler: json_aem_health_check
|
|
@@ -102,7 +112,7 @@ authorizablekeystore:
|
|
|
102
112
|
optional:
|
|
103
113
|
new_password: '%{password}'
|
|
104
114
|
re_password: '%{password}'
|
|
105
|
-
|
|
115
|
+
_operation: createStore
|
|
106
116
|
responses:
|
|
107
117
|
200:
|
|
108
118
|
handler: simple
|
|
@@ -164,7 +174,7 @@ authorizablekeystore:
|
|
|
164
174
|
path: '%{intermediate_path}/%{authorizable_id}/keystore'
|
|
165
175
|
name: store.p12
|
|
166
176
|
optional:
|
|
167
|
-
|
|
177
|
+
_operation: delete
|
|
168
178
|
responses:
|
|
169
179
|
200:
|
|
170
180
|
handler: simple
|
|
@@ -348,28 +358,29 @@ flushagent:
|
|
|
348
358
|
runmode: '%{run_mode}'
|
|
349
359
|
name: '%{name}'
|
|
350
360
|
optional:
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
361
|
+
jcr_primary_type: cq:Page
|
|
362
|
+
jcr_content_cq_name: '%{name}'
|
|
363
|
+
jcr_content_jcr_title: '%{title}'
|
|
364
|
+
jcr_content_jcr_description: '%{description}'
|
|
365
|
+
jcr_content_sling_resource_type: cq/replication/components/agent
|
|
366
|
+
jcr_content_transport_uri: '%{dest_base_url}/dispatcher/invalidate.cache'
|
|
367
|
+
jcr_content_alias_update: '%{alias_update}'
|
|
368
|
+
jcr_content_log_level: '%{log_level}'
|
|
369
|
+
jcr_content_no_versioning: true
|
|
370
|
+
jcr_content_protocol_http_headers:
|
|
360
371
|
- 'CQ-Action:{action}'
|
|
361
372
|
- 'CQ-Handle:{path}'
|
|
362
373
|
- 'CQ-Path:{path}'
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
374
|
+
jcr_content_protocol_http_headers_type_hint: String[]
|
|
375
|
+
jcr_content_protocol_http_method: GET
|
|
376
|
+
jcr_content_retry_delay: '%{retry_delay}'
|
|
377
|
+
jcr_content_serialization_type: flush
|
|
378
|
+
jcr_content_jcr_mixin_types: cq:ReplicationStatus
|
|
379
|
+
jcr_content_trigger_receive: true
|
|
380
|
+
jcr_content_trigger_specific: true
|
|
381
|
+
jcr_content_cq_template: /libs/cq/replication/templates/agent
|
|
382
|
+
jcr_content_enabled: true
|
|
383
|
+
jcr_content_ssl: '%{ssl}'
|
|
373
384
|
responses:
|
|
374
385
|
200:
|
|
375
386
|
handler: simple
|
|
@@ -385,7 +396,7 @@ flushagent:
|
|
|
385
396
|
runmode: '%{run_mode}'
|
|
386
397
|
name: '%{name}'
|
|
387
398
|
optional:
|
|
388
|
-
|
|
399
|
+
_operation: delete
|
|
389
400
|
responses:
|
|
390
401
|
200:
|
|
391
402
|
handler: simple
|
|
@@ -521,7 +532,7 @@ node:
|
|
|
521
532
|
params:
|
|
522
533
|
required:
|
|
523
534
|
path: '%{path}'
|
|
524
|
-
|
|
535
|
+
jcr_primary_type: '%{type}'
|
|
525
536
|
name: '%{name}'
|
|
526
537
|
responses:
|
|
527
538
|
201:
|
|
@@ -535,7 +546,7 @@ node:
|
|
|
535
546
|
path: '%{path}'
|
|
536
547
|
name: '%{name}'
|
|
537
548
|
optional:
|
|
538
|
-
|
|
549
|
+
_operation: delete
|
|
539
550
|
responses:
|
|
540
551
|
200:
|
|
541
552
|
handler: simple
|
|
@@ -573,7 +584,7 @@ package:
|
|
|
573
584
|
group_name: '%{group_name}'
|
|
574
585
|
package_name: '%{package_name}'
|
|
575
586
|
package_version: '%{package_version}'
|
|
576
|
-
|
|
587
|
+
_charset_: utf-8
|
|
577
588
|
responses:
|
|
578
589
|
200:
|
|
579
590
|
handler: json_package_service
|
|
@@ -590,7 +601,7 @@ package:
|
|
|
590
601
|
path: '/etc/packages/%{group_name}/%{package_name}-%{package_version}.zip'
|
|
591
602
|
optional:
|
|
592
603
|
filter: '%{filter}'
|
|
593
|
-
|
|
604
|
+
_charset_: utf-8
|
|
594
605
|
responses:
|
|
595
606
|
200:
|
|
596
607
|
handler: json_package_service
|
|
@@ -719,7 +730,7 @@ path:
|
|
|
719
730
|
path: '%{path}'
|
|
720
731
|
name: '%{name}'
|
|
721
732
|
optional:
|
|
722
|
-
|
|
733
|
+
_operation: delete
|
|
723
734
|
responses:
|
|
724
735
|
200:
|
|
725
736
|
handler: simple
|
|
@@ -747,6 +758,8 @@ configproperty:
|
|
|
747
758
|
201:
|
|
748
759
|
handler: simple
|
|
749
760
|
message: 'Set %{config_node_name} config %{type} property %{name}=%{value}'
|
|
761
|
+
# TODO: remove the create<config> actions below, unused since a170df6 (2020, #31) when
|
|
762
|
+
# ConfigProperty#create switched to the generic create action (postConfigProperty)
|
|
750
763
|
createapachefelixjettybasedhttpservice:
|
|
751
764
|
api: sling
|
|
752
765
|
operation: postConfigApacheFelixJettyBasedHttpService
|
|
@@ -764,7 +777,10 @@ configproperty:
|
|
|
764
777
|
- org_apache_felix_https_keystore_key_password
|
|
765
778
|
- org_apache_felix_https_keystore_key_password_type_hint
|
|
766
779
|
- org_apache_felix_https_truststore
|
|
767
|
-
|
|
780
|
+
# org.apache.felix.https.truststore@TypeHint, read as org_apache_felix_https_truststore_type_hint:
|
|
781
|
+
# https://github.com/shinesolutions/swagger-aem/blob/4.0.0/specification/swagger-aem.yml#L257
|
|
782
|
+
# https://github.com/shinesolutions/swagger-aem/blob/4.0.0/clients/ruby/generated/lib/swagger_aem/api/sling_api.rb#L1457
|
|
783
|
+
- org_apache_felix_https_truststore_type_hint
|
|
768
784
|
- org_apache_felix_https_truststore_password
|
|
769
785
|
- org_apache_felix_https_truststore_password_type_hint
|
|
770
786
|
- org_apache_felix_https_clientcertificate
|
|
@@ -773,8 +789,11 @@ configproperty:
|
|
|
773
789
|
- org_apache_felix_https_enable_type_hint
|
|
774
790
|
- org_osgi_service_http_port_secure
|
|
775
791
|
- org_osgi_service_http_port_secure_type_hint
|
|
776
|
-
|
|
777
|
-
|
|
792
|
+
# json_maximumresults and json_maximumresults_type_hint were removed from this action:
|
|
793
|
+
# postConfigApacheFelixJettyBasedHttpService has no json.maximumresults parameter in any
|
|
794
|
+
# swagger_aem release (1.0.0 to 4.0.0), so they were never sent. They were copied from the
|
|
795
|
+
# Sling GET servlet action in ruby_aem a626c5d (2017) and stay on createapacheslinggetservlet.
|
|
796
|
+
# https://github.com/shinesolutions/swagger-aem/blob/4.0.0/specification/swagger-aem.yml#L198-L306
|
|
778
797
|
responses:
|
|
779
798
|
200:
|
|
780
799
|
handler: simple
|
|
@@ -788,6 +807,9 @@ configproperty:
|
|
|
788
807
|
params:
|
|
789
808
|
required:
|
|
790
809
|
optional:
|
|
810
|
+
# json.maximumresults and json.maximumresults@TypeHint:
|
|
811
|
+
# https://github.com/shinesolutions/swagger-aem/blob/4.0.0/specification/swagger-aem.yml#L311-L320
|
|
812
|
+
# https://github.com/shinesolutions/swagger-aem/blob/4.0.0/clients/ruby/generated/lib/swagger_aem/api/sling_api.rb#L1683-L1684
|
|
791
813
|
- json_maximumresults
|
|
792
814
|
- json_maximumresults_type_hint
|
|
793
815
|
- enable_html
|
|
@@ -919,7 +941,10 @@ configproperty:
|
|
|
919
941
|
- name_id_format
|
|
920
942
|
- name_id_format_type_hint
|
|
921
943
|
- digest_method
|
|
922
|
-
|
|
944
|
+
# digestMethod@TypeHint, read as digest_method_type_hint:
|
|
945
|
+
# https://github.com/shinesolutions/swagger-aem/blob/4.0.0/specification/swagger-aem.yml#L1517
|
|
946
|
+
# https://github.com/shinesolutions/swagger-aem/blob/4.0.0/clients/ruby/generated/lib/swagger_aem/api/sling_api.rb#L1350
|
|
947
|
+
- digest_method_type_hint
|
|
923
948
|
- signature_method
|
|
924
949
|
- signature_method_type_hint
|
|
925
950
|
- user_intermediate_path
|
|
@@ -970,20 +995,20 @@ replicationagent:
|
|
|
970
995
|
runmode: '%{run_mode}'
|
|
971
996
|
name: '%{name}'
|
|
972
997
|
optional:
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
998
|
+
jcr_primary_type: cq:Page
|
|
999
|
+
jcr_content_cq_name: '%{name}'
|
|
1000
|
+
jcr_content_jcr_title: '%{title}'
|
|
1001
|
+
jcr_content_jcr_description: '%{description}'
|
|
1002
|
+
jcr_content_sling_resource_type: cq/replication/components/agent
|
|
1003
|
+
jcr_content_serialization_type: durbo
|
|
1004
|
+
jcr_content_transport_uri: '%{dest_base_url}/bin/receive?sling:authRequestLogin=1'
|
|
1005
|
+
jcr_content_transport_user: '%{transport_user}'
|
|
1006
|
+
jcr_content_transport_password: '%{transport_password}'
|
|
1007
|
+
jcr_content_log_level: '%{log_level}'
|
|
1008
|
+
jcr_content_retry_delay: '%{retry_delay}'
|
|
1009
|
+
jcr_content_cq_template: /libs/cq/replication/templates/agent
|
|
1010
|
+
jcr_content_enabled: true
|
|
1011
|
+
jcr_content_ssl: '%{ssl}'
|
|
987
1012
|
responses:
|
|
988
1013
|
200:
|
|
989
1014
|
handler: simple
|
|
@@ -999,7 +1024,7 @@ replicationagent:
|
|
|
999
1024
|
runmode: '%{run_mode}'
|
|
1000
1025
|
name: '%{name}'
|
|
1001
1026
|
optional:
|
|
1002
|
-
|
|
1027
|
+
_operation: delete
|
|
1003
1028
|
responses:
|
|
1004
1029
|
200:
|
|
1005
1030
|
handler: simple
|
|
@@ -1041,20 +1066,20 @@ outboxreplicationagent:
|
|
|
1041
1066
|
runmode: '%{run_mode}'
|
|
1042
1067
|
name: '%{name}'
|
|
1043
1068
|
optional:
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1069
|
+
jcr_primary_type: cq:Page
|
|
1070
|
+
jcr_content_cq_name: '%{name}'
|
|
1071
|
+
jcr_content_jcr_title: '%{title}'
|
|
1072
|
+
jcr_content_jcr_description: '%{description}'
|
|
1073
|
+
jcr_content_sling_resource_type: cq/replication/components/agent
|
|
1074
|
+
jcr_content_transport_uri: repo://var/replication/outbox
|
|
1075
|
+
jcr_content_no_versioning: true
|
|
1076
|
+
jcr_content_log_level: '%{log_level}'
|
|
1077
|
+
jcr_content_cq_template: /libs/cq/replication/templates/agent
|
|
1078
|
+
jcr_content_enabled: true
|
|
1079
|
+
jcr_content_trigger_distribute: true
|
|
1080
|
+
jcr_content_trigger_modified: false
|
|
1081
|
+
jcr_content_trigger_specific: true
|
|
1082
|
+
jcr_content_user_id: '%{user_id}'
|
|
1058
1083
|
responses:
|
|
1059
1084
|
200:
|
|
1060
1085
|
handler: simple
|
|
@@ -1070,7 +1095,7 @@ outboxreplicationagent:
|
|
|
1070
1095
|
runmode: '%{run_mode}'
|
|
1071
1096
|
name: '%{name}'
|
|
1072
1097
|
optional:
|
|
1073
|
-
|
|
1098
|
+
_operation: delete
|
|
1074
1099
|
responses:
|
|
1075
1100
|
200:
|
|
1076
1101
|
handler: simple
|
|
@@ -1112,20 +1137,20 @@ reversereplicationagent:
|
|
|
1112
1137
|
runmode: '%{run_mode}'
|
|
1113
1138
|
name: '%{name}'
|
|
1114
1139
|
optional:
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1140
|
+
jcr_primary_type: cq:Page
|
|
1141
|
+
jcr_content_cq_name: '%{name}'
|
|
1142
|
+
jcr_content_jcr_title: '%{title}'
|
|
1143
|
+
jcr_content_jcr_description: '%{description}'
|
|
1144
|
+
jcr_content_sling_resource_type: cq/replication/components/agent
|
|
1145
|
+
jcr_content_serialization_type: durbo
|
|
1146
|
+
jcr_content_transport_uri: '%{dest_base_url}/bin/receive?sling:authRequestLogin=1'
|
|
1147
|
+
jcr_content_transport_user: '%{transport_user}'
|
|
1148
|
+
jcr_content_transport_password: '%{transport_password}'
|
|
1149
|
+
jcr_content_log_level: '%{log_level}'
|
|
1150
|
+
jcr_content_retry_delay: '%{retry_delay}'
|
|
1151
|
+
jcr_content_cq_template: /libs/cq/replication/templates/agent
|
|
1152
|
+
jcr_content_enabled: true
|
|
1153
|
+
jcr_content_reverse_replication: true
|
|
1129
1154
|
responses:
|
|
1130
1155
|
200:
|
|
1131
1156
|
handler: simple
|
|
@@ -1141,7 +1166,7 @@ reversereplicationagent:
|
|
|
1141
1166
|
runmode: '%{run_mode}'
|
|
1142
1167
|
name: '%{name}'
|
|
1143
1168
|
optional:
|
|
1144
|
-
|
|
1169
|
+
_operation: delete
|
|
1145
1170
|
responses:
|
|
1146
1171
|
200:
|
|
1147
1172
|
handler: simple
|
|
@@ -1269,7 +1294,7 @@ truststore:
|
|
|
1269
1294
|
optional:
|
|
1270
1295
|
new_password: '%{password}'
|
|
1271
1296
|
re_password: '%{password}'
|
|
1272
|
-
|
|
1297
|
+
_operation: createStore
|
|
1273
1298
|
responses:
|
|
1274
1299
|
200:
|
|
1275
1300
|
handler: simple
|
|
@@ -1307,7 +1332,7 @@ truststore:
|
|
|
1307
1332
|
path: etc/truststore
|
|
1308
1333
|
name: truststore.p12
|
|
1309
1334
|
optional:
|
|
1310
|
-
|
|
1335
|
+
_operation: delete
|
|
1311
1336
|
responses:
|
|
1312
1337
|
200:
|
|
1313
1338
|
handler: simple
|
|
@@ -1354,7 +1379,7 @@ user:
|
|
|
1354
1379
|
intermediate_path: '%{path}'
|
|
1355
1380
|
optional:
|
|
1356
1381
|
create_user: 'true'
|
|
1357
|
-
|
|
1382
|
+
rep_password: '%{password}'
|
|
1358
1383
|
responses:
|
|
1359
1384
|
201:
|
|
1360
1385
|
handler: html_authorizable_id
|
data/lib/ruby_aem/client.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2016-
|
|
1
|
+
# Copyright 2016-2026 Shine Solutions Group
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -73,9 +73,7 @@ module RubyAem
|
|
|
73
73
|
method = RubyAem::Swagger.operation_to_method(operation)
|
|
74
74
|
data, status_code, headers = api.send("#{method}_with_http_info", *params)
|
|
75
75
|
response = RubyAem::Response.new(status_code, data, headers)
|
|
76
|
-
rescue SwaggerAemClient::ApiError => e
|
|
77
|
-
response = RubyAem::Response.new(e.code, e.response_body, e.response_headers)
|
|
78
|
-
rescue SwaggerAemOsgiClient::ApiError => e
|
|
76
|
+
rescue SwaggerAemClient::ApiError, SwaggerAemOsgiClient::ApiError => e
|
|
79
77
|
response = RubyAem::Response.new(e.code, e.response_body, e.response_headers)
|
|
80
78
|
end
|
|
81
79
|
handle(response, responses_spec, call_params)
|
|
@@ -94,7 +92,7 @@ module RubyAem
|
|
|
94
92
|
params[-1][key.to_sym] = call_params[key.to_sym] if call_params.key? key.to_sym
|
|
95
93
|
# if value is provided in optional param spec,
|
|
96
94
|
# then apply variable interpolation the same way as required param
|
|
97
|
-
elsif value.
|
|
95
|
+
elsif value.instance_of?(String)
|
|
98
96
|
case value
|
|
99
97
|
when '__FILE_PACKAGE__'
|
|
100
98
|
file_path = "#{call_params[:file_path]}/#{call_params[:package_name]}-#{call_params[:package_version]}.zip"
|
|
@@ -106,12 +104,12 @@ module RubyAem
|
|
|
106
104
|
file_path = call_params[:file_path_private_key]
|
|
107
105
|
end
|
|
108
106
|
|
|
109
|
-
if
|
|
107
|
+
if file_path.nil?
|
|
108
|
+
params[-1][key.to_sym] = value % call_params
|
|
109
|
+
else
|
|
110
110
|
File.open(file_path.to_s, 'r') { |file|
|
|
111
111
|
params[-1][key.to_sym] = file
|
|
112
112
|
}
|
|
113
|
-
else
|
|
114
|
-
params[-1][key.to_sym] = value % call_params
|
|
115
113
|
end
|
|
116
114
|
else
|
|
117
115
|
params[-1][key.to_sym] = value
|
data/lib/ruby_aem/error.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2016-
|
|
1
|
+
# Copyright 2016-2026 Shine Solutions Group
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -18,6 +18,11 @@ module RubyAem
|
|
|
18
18
|
class Error < StandardError
|
|
19
19
|
attr_accessor :result
|
|
20
20
|
|
|
21
|
+
# Initialise an error.
|
|
22
|
+
#
|
|
23
|
+
# @param message error message
|
|
24
|
+
# @param result RubyAem::Result
|
|
25
|
+
# @return new RubyAem::Error instance
|
|
21
26
|
def initialize(message, result)
|
|
22
27
|
super(message)
|
|
23
28
|
self.result = result
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2016-
|
|
1
|
+
# Copyright 2016-2026 Shine Solutions Group
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -23,6 +23,7 @@ module RubyAem
|
|
|
23
23
|
# dependency.
|
|
24
24
|
module Handlers
|
|
25
25
|
include REXML
|
|
26
|
+
|
|
26
27
|
# Parse authorizable ID from response body data.
|
|
27
28
|
# This is used to get the authorizable ID of a newly created user/group.
|
|
28
29
|
#
|
|
@@ -108,6 +109,7 @@ module RubyAem
|
|
|
108
109
|
# @param html HTML response body string
|
|
109
110
|
# @param regex Ruby regular expression, all regex matches will be replaced
|
|
110
111
|
# @param replacement all existence of the regex will be replaced with this string
|
|
112
|
+
# @return sanitised HTML string
|
|
111
113
|
def self._sanitise_html(html, regex, replacement)
|
|
112
114
|
if regex.match?(html)
|
|
113
115
|
html.gsub!(regex, replacement)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2016-
|
|
1
|
+
# Copyright 2016-2026 Shine Solutions Group
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -144,8 +144,8 @@ module RubyAem
|
|
|
144
144
|
result
|
|
145
145
|
end
|
|
146
146
|
|
|
147
|
-
# Authorizable keystore payload handler, checks for the existence of certificate within
|
|
148
|
-
# AEM
|
|
147
|
+
# Authorizable keystore payload handler, checks for the existence of certificate chain within
|
|
148
|
+
# AEM Authorizable Keystore, identified by private_key_alias call parameter.
|
|
149
149
|
#
|
|
150
150
|
# @param response HTTP response containing status_code, body, and headers
|
|
151
151
|
# @param response_spec response specification as configured in conf/spec.yaml
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2016-
|
|
1
|
+
# Copyright 2016-2026 Shine Solutions Group
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -28,8 +28,7 @@ module RubyAem
|
|
|
28
28
|
# @return new RubyAem::Resources::Aem instance
|
|
29
29
|
def initialize(client)
|
|
30
30
|
@client = client
|
|
31
|
-
@call_params = {
|
|
32
|
-
}
|
|
31
|
+
@call_params = {}
|
|
33
32
|
end
|
|
34
33
|
|
|
35
34
|
# Retrieve AEM login page.
|
|
@@ -96,11 +95,11 @@ module RubyAem
|
|
|
96
95
|
with_retries(max_tries: opts[:_retries][:max_tries], base_sleep_seconds: opts[:_retries][:base_sleep_seconds], max_sleep_seconds: opts[:_retries][:max_sleep_seconds]) { |retries_count|
|
|
97
96
|
begin
|
|
98
97
|
result = get_login_page
|
|
99
|
-
if result.response.body
|
|
98
|
+
if result.response.body =~ /QUICKSTART_HOMEPAGE/
|
|
99
|
+
puts format('Retrieve login page attempt #%<retries_count>d: %<message>s and ready', retries_count: retries_count, message: result.message)
|
|
100
|
+
else
|
|
100
101
|
puts format('Retrieve login page attempt #%<retries_count>d: %<message>s but not ready yet', retries_count: retries_count, message: result.message)
|
|
101
102
|
raise StandardError.new(result.message)
|
|
102
|
-
else
|
|
103
|
-
puts format('Retrieve login page attempt #%<retries_count>d: %<message>s and ready', retries_count: retries_count, message: result.message)
|
|
104
103
|
end
|
|
105
104
|
rescue RubyAem::Error => e
|
|
106
105
|
puts format('Retrieve login page attempt #%<retries_count>d: %<message>s', retries_count: retries_count, message: e.message)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2016-
|
|
1
|
+
# Copyright 2016-2026 Shine Solutions Group
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -23,11 +23,10 @@ module RubyAem
|
|
|
23
23
|
# Initialise an AEM instance.
|
|
24
24
|
#
|
|
25
25
|
# @param client RubyAem::Client
|
|
26
|
-
# @return new RubyAem::Resources::
|
|
26
|
+
# @return new RubyAem::Resources::AemConfigMgr instance
|
|
27
27
|
def initialize(client)
|
|
28
28
|
@client = client
|
|
29
|
-
@call_params = {
|
|
30
|
-
}
|
|
29
|
+
@call_params = {}
|
|
31
30
|
end
|
|
32
31
|
|
|
33
32
|
# Connect to AEM /system/console/configMgr to collect
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2016-
|
|
1
|
+
# Copyright 2016-2026 Shine Solutions Group
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -26,7 +26,7 @@ module RubyAem
|
|
|
26
26
|
# @param client RubyAem::Client
|
|
27
27
|
# @param intermediate_path AEM User home path
|
|
28
28
|
# @param authorizable_id AEM User id
|
|
29
|
-
# @return new RubyAem::Resources::
|
|
29
|
+
# @return new RubyAem::Resources::AuthorizableKeystore instance
|
|
30
30
|
def initialize(client, intermediate_path, authorizable_id)
|
|
31
31
|
@client = client
|
|
32
32
|
@call_params = {
|
|
@@ -50,7 +50,6 @@ module RubyAem
|
|
|
50
50
|
#
|
|
51
51
|
# @param old_password Current password for the authorizable keystore
|
|
52
52
|
# @param new_password New password for the authorizable keystore
|
|
53
|
-
|
|
54
53
|
# @return RubyAem::Result
|
|
55
54
|
def change_password(old_password, new_password)
|
|
56
55
|
@call_params[:old_password] = old_password
|
|
@@ -105,6 +105,10 @@ module RubyAem
|
|
|
105
105
|
@client.call(self.class, __callee__.to_s, @call_params)
|
|
106
106
|
end
|
|
107
107
|
|
|
108
|
+
# Retrieve the alias of the certificate from AEM Truststore info,
|
|
109
|
+
# the certificate is identified by its serial number.
|
|
110
|
+
#
|
|
111
|
+
# @return the certificate's alias, nil if the certificate does not exist in AEM Truststore
|
|
108
112
|
def _get_alias
|
|
109
113
|
truststore_info = @truststore.info.data
|
|
110
114
|
cert_alias = nil
|
|
@@ -28,7 +28,7 @@ module RubyAem
|
|
|
28
28
|
# @param private_key_alias Alias of the private key associated to this certificate chain
|
|
29
29
|
# @param keystore_intermediate_path AEM User home path
|
|
30
30
|
# @param keystore_authorizable_id AEM User id
|
|
31
|
-
# @return new RubyAem::Resources::
|
|
31
|
+
# @return new RubyAem::Resources::CertificateChain instance
|
|
32
32
|
def initialize(client, private_key_alias, keystore_intermediate_path, keystore_authorizable_id)
|
|
33
33
|
@client = client
|
|
34
34
|
@truststore = RubyAem::Resources::Truststore.new(client)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2016-
|
|
1
|
+
# Copyright 2016-2026 Shine Solutions Group
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -37,6 +37,7 @@ module RubyAem
|
|
|
37
37
|
# @param description flush agent description
|
|
38
38
|
# @param dest_base_url base URL of the agent target destination, e.g. http://somedispatcher:8080
|
|
39
39
|
# @param opts optional parameters:
|
|
40
|
+
# - alias_update: true, false, default is false
|
|
40
41
|
# - log_level: error, info, debug, default is error
|
|
41
42
|
# - retry_delay: in milliseconds, default is 30_000
|
|
42
43
|
# @return RubyAem::Result
|
|
@@ -45,6 +46,7 @@ module RubyAem
|
|
|
45
46
|
description,
|
|
46
47
|
dest_base_url,
|
|
47
48
|
opts = {
|
|
49
|
+
alias_update: false,
|
|
48
50
|
log_level: 'error',
|
|
49
51
|
retry_delay: 30_000
|
|
50
52
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2016-
|
|
1
|
+
# Copyright 2016-2026 Shine Solutions Group
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -20,6 +20,7 @@ module RubyAem
|
|
|
20
20
|
# Package class contains API calls related to managing an AEM package.
|
|
21
21
|
class Package
|
|
22
22
|
include REXML
|
|
23
|
+
|
|
23
24
|
# Initialise a package.
|
|
24
25
|
# Package name and version will then be used to construct the package file in the filesystem.
|
|
25
26
|
# E.g. package name 'somepackage' with version '1.2.3' will translate to somepackage-1.2.3.zip in the filesystem.
|
|
@@ -185,12 +186,12 @@ module RubyAem
|
|
|
185
186
|
packages = list_all.data
|
|
186
187
|
package = XPath.first(packages, "//packages/package[group=\"#{@call_params[:group_name]}\" and name=\"#{@call_params[:package_name]}\" and version=\"#{@call_params[:package_version]}\"]")
|
|
187
188
|
|
|
188
|
-
if package.to_s
|
|
189
|
-
message = "Package #{@call_params[:group_name]}/#{@call_params[:package_name]}-#{@call_params[:package_version]} exists"
|
|
190
|
-
exists = true
|
|
191
|
-
else
|
|
189
|
+
if package.to_s == ''
|
|
192
190
|
message = "Package #{@call_params[:group_name]}/#{@call_params[:package_name]}-#{@call_params[:package_version]} does not exist"
|
|
193
191
|
exists = false
|
|
192
|
+
else
|
|
193
|
+
message = "Package #{@call_params[:group_name]}/#{@call_params[:package_name]}-#{@call_params[:package_version]} exists"
|
|
194
|
+
exists = true
|
|
194
195
|
end
|
|
195
196
|
result = RubyAem::Result.new(message, nil)
|
|
196
197
|
result.data = exists
|
|
@@ -224,12 +225,12 @@ module RubyAem
|
|
|
224
225
|
package = XPath.first(packages, "//packages/package[group=\"#{@call_params[:group_name]}\" and name=\"#{@call_params[:package_name]}\" and version=\"#{@call_params[:package_version]}\"]")
|
|
225
226
|
last_unpacked_by = XPath.first(package, 'lastUnpackedBy') if package
|
|
226
227
|
|
|
227
|
-
if
|
|
228
|
-
message = "Package #{@call_params[:group_name]}/#{@call_params[:package_name]}-#{@call_params[:package_version]} is installed"
|
|
229
|
-
is_installed = true
|
|
230
|
-
else
|
|
228
|
+
if ['', '<lastUnpackedBy/>', '<lastUnpackedBy>null</lastUnpackedBy>'].include? last_unpacked_by.to_s
|
|
231
229
|
message = "Package #{@call_params[:group_name]}/#{@call_params[:package_name]}-#{@call_params[:package_version]} is not installed"
|
|
232
230
|
is_installed = false
|
|
231
|
+
else
|
|
232
|
+
message = "Package #{@call_params[:group_name]}/#{@call_params[:package_name]}-#{@call_params[:package_version]} is installed"
|
|
233
|
+
is_installed = true
|
|
233
234
|
end
|
|
234
235
|
result = RubyAem::Result.new(message, nil)
|
|
235
236
|
result.data = is_installed
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2016-
|
|
1
|
+
# Copyright 2016-2026 Shine Solutions Group
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -43,6 +43,8 @@ module RubyAem
|
|
|
43
43
|
# and convert it to PKCS12 Truststore object.
|
|
44
44
|
#
|
|
45
45
|
# @param file_path path to Truststore file
|
|
46
|
+
# @param password Password for AEM Truststore
|
|
47
|
+
# @return OpenSSL::PKCS12 Truststore object
|
|
46
48
|
def read(file_path, password)
|
|
47
49
|
truststore_raw = File.read file_path
|
|
48
50
|
OpenSSL::PKCS12.new(truststore_raw, password)
|
data/lib/ruby_aem/response.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2016-
|
|
1
|
+
# Copyright 2016-2026 Shine Solutions Group
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -15,9 +15,7 @@
|
|
|
15
15
|
module RubyAem
|
|
16
16
|
# Response wraps HTTP response data returned by swagger_aem.
|
|
17
17
|
class Response
|
|
18
|
-
attr_accessor :status_code
|
|
19
|
-
attr_accessor :body
|
|
20
|
-
attr_accessor :headers
|
|
18
|
+
attr_accessor :status_code, :body, :headers
|
|
21
19
|
|
|
22
20
|
# Initialise a result.
|
|
23
21
|
#
|
data/lib/ruby_aem/result.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2016-
|
|
1
|
+
# Copyright 2016-2026 Shine Solutions Group
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -21,9 +21,8 @@ module RubyAem
|
|
|
21
21
|
# e.g. is_* and exists method provide result with boolean data.
|
|
22
22
|
# Some API calls result doesn't contain any data.
|
|
23
23
|
class Result
|
|
24
|
-
attr_accessor :message
|
|
24
|
+
attr_accessor :message, :data
|
|
25
25
|
attr_reader :response
|
|
26
|
-
attr_accessor :data
|
|
27
26
|
|
|
28
27
|
# Initialise a result.
|
|
29
28
|
#
|
data/lib/ruby_aem/swagger.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2016-
|
|
1
|
+
# Copyright 2016-2026 Shine Solutions Group
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -22,7 +22,7 @@ module RubyAem
|
|
|
22
22
|
# @return swagger_aem method name
|
|
23
23
|
def self.operation_to_method(operation)
|
|
24
24
|
operation.gsub(/[A-Z]/) { |char|
|
|
25
|
-
|
|
25
|
+
"_#{char.downcase}"
|
|
26
26
|
}
|
|
27
27
|
end
|
|
28
28
|
|
|
@@ -54,7 +54,7 @@ module RubyAem
|
|
|
54
54
|
# @param config_node_name the name of the node for a given config
|
|
55
55
|
# @return config name
|
|
56
56
|
def self.config_node_name_to_config_name(config_node_name)
|
|
57
|
-
case config_node_name
|
|
57
|
+
case config_node_name # rubocop:disable Style/HashLikeCase
|
|
58
58
|
when 'org.apache.felix.http'
|
|
59
59
|
'Apache Felix Jetty Based HTTP Service'
|
|
60
60
|
when 'org.apache.sling.servlets.get.DefaultGetServlet'
|
data/lib/ruby_aem.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright 2016-
|
|
1
|
+
# Copyright 2016-2026 Shine Solutions Group
|
|
2
2
|
#
|
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
4
|
# you may not use this file except in compliance with the License.
|
|
@@ -98,6 +98,8 @@ module RubyAem
|
|
|
98
98
|
end
|
|
99
99
|
|
|
100
100
|
# Set default configuration values and handle numeric/boolean String values
|
|
101
|
+
#
|
|
102
|
+
# @param conf configuration hash, the hash will be modified with the sanitised values
|
|
101
103
|
def sanitise_conf(conf)
|
|
102
104
|
conf[:username] ||= 'admin'
|
|
103
105
|
conf[:password] ||= 'admin'
|
|
@@ -122,7 +124,7 @@ module RubyAem
|
|
|
122
124
|
|
|
123
125
|
# Create an AEM ConfigMgr instance.
|
|
124
126
|
#
|
|
125
|
-
# @return new RubyAem::Resources::
|
|
127
|
+
# @return new RubyAem::Resources::AemConfigMgr instance
|
|
126
128
|
def aem_configmgr
|
|
127
129
|
RubyAem::Resources::AemConfigMgr.new(@client)
|
|
128
130
|
end
|
|
@@ -143,12 +145,12 @@ module RubyAem
|
|
|
143
145
|
RubyAem::Resources::Certificate.new(@client, serial_number)
|
|
144
146
|
end
|
|
145
147
|
|
|
146
|
-
#
|
|
147
|
-
#
|
|
148
|
+
# Create a certificate chain instance.
|
|
149
|
+
#
|
|
148
150
|
# @param private_key_alias Alias of the private key associated to this certificate chain
|
|
149
151
|
# @param keystore_intermediate_path AEM User home path
|
|
150
152
|
# @param keystore_authorizable_id AEM User id
|
|
151
|
-
#
|
|
153
|
+
# @return new RubyAem::Resources::CertificateChain instance
|
|
152
154
|
def certificate_chain(private_key_alias, keystore_intermediate_path, keystore_authorizable_id)
|
|
153
155
|
RubyAem::Resources::CertificateChain.new(@client, private_key_alias, keystore_intermediate_path, keystore_authorizable_id)
|
|
154
156
|
end
|
|
@@ -183,7 +185,9 @@ module RubyAem
|
|
|
183
185
|
|
|
184
186
|
# Create a Keystore instance for given authorizable id.
|
|
185
187
|
#
|
|
186
|
-
# @
|
|
188
|
+
# @param intermediate_path AEM User home path
|
|
189
|
+
# @param authorizable_id AEM User id
|
|
190
|
+
# @return new RubyAem::Resources::AuthorizableKeystore instance
|
|
187
191
|
def authorizable_keystore(intermediate_path, authorizable_id)
|
|
188
192
|
RubyAem::Resources::AuthorizableKeystore.new(@client, intermediate_path, authorizable_id)
|
|
189
193
|
end
|
|
@@ -258,7 +262,7 @@ module RubyAem
|
|
|
258
262
|
|
|
259
263
|
# Create a SSL instance.
|
|
260
264
|
#
|
|
261
|
-
# @return new RubyAem::Resources::
|
|
265
|
+
# @return new RubyAem::Resources::Ssl instance
|
|
262
266
|
def ssl
|
|
263
267
|
RubyAem::Resources::Ssl.new(@client)
|
|
264
268
|
end
|
metadata
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ruby_aem
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 4.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Shine Solutions
|
|
8
8
|
- Cliffano Subagio
|
|
9
|
-
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date:
|
|
11
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: retries
|
|
@@ -26,61 +25,47 @@ dependencies:
|
|
|
26
25
|
- !ruby/object:Gem::Version
|
|
27
26
|
version: 0.0.5
|
|
28
27
|
- !ruby/object:Gem::Dependency
|
|
29
|
-
name:
|
|
28
|
+
name: rexml
|
|
30
29
|
requirement: !ruby/object:Gem::Requirement
|
|
31
30
|
requirements:
|
|
32
31
|
- - '='
|
|
33
32
|
- !ruby/object:Gem::Version
|
|
34
|
-
version: 3.
|
|
33
|
+
version: 3.4.4
|
|
35
34
|
type: :runtime
|
|
36
35
|
prerelease: false
|
|
37
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
38
37
|
requirements:
|
|
39
38
|
- - '='
|
|
40
39
|
- !ruby/object:Gem::Version
|
|
41
|
-
version: 3.
|
|
40
|
+
version: 3.4.4
|
|
42
41
|
- !ruby/object:Gem::Dependency
|
|
43
|
-
name:
|
|
42
|
+
name: swagger_aem
|
|
44
43
|
requirement: !ruby/object:Gem::Requirement
|
|
45
44
|
requirements:
|
|
46
45
|
- - '='
|
|
47
46
|
- !ruby/object:Gem::Version
|
|
48
|
-
version:
|
|
47
|
+
version: 4.0.0
|
|
49
48
|
type: :runtime
|
|
50
49
|
prerelease: false
|
|
51
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
52
51
|
requirements:
|
|
53
52
|
- - '='
|
|
54
53
|
- !ruby/object:Gem::Version
|
|
55
|
-
version:
|
|
54
|
+
version: 4.0.0
|
|
56
55
|
- !ruby/object:Gem::Dependency
|
|
57
|
-
name:
|
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
|
59
|
-
requirements:
|
|
60
|
-
- - '='
|
|
61
|
-
- !ruby/object:Gem::Version
|
|
62
|
-
version: 3.8.0
|
|
63
|
-
type: :development
|
|
64
|
-
prerelease: false
|
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
-
requirements:
|
|
67
|
-
- - '='
|
|
68
|
-
- !ruby/object:Gem::Version
|
|
69
|
-
version: 3.8.0
|
|
70
|
-
- !ruby/object:Gem::Dependency
|
|
71
|
-
name: yard
|
|
56
|
+
name: swagger_aem_osgi
|
|
72
57
|
requirement: !ruby/object:Gem::Requirement
|
|
73
58
|
requirements:
|
|
74
59
|
- - '='
|
|
75
60
|
- !ruby/object:Gem::Version
|
|
76
|
-
version: 0.
|
|
77
|
-
type: :
|
|
61
|
+
version: 2.0.0
|
|
62
|
+
type: :runtime
|
|
78
63
|
prerelease: false
|
|
79
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
80
65
|
requirements:
|
|
81
66
|
- - '='
|
|
82
67
|
- !ruby/object:Gem::Version
|
|
83
|
-
version: 0.
|
|
68
|
+
version: 2.0.0
|
|
84
69
|
description: ruby_aem is a Ruby client for Adobe Experience Manager (AEM) API, written
|
|
85
70
|
on top of swagger_aem
|
|
86
71
|
email:
|
|
@@ -126,8 +111,8 @@ files:
|
|
|
126
111
|
homepage: https://github.com/shinesolutions/ruby_aem
|
|
127
112
|
licenses:
|
|
128
113
|
- Apache-2.0
|
|
129
|
-
metadata:
|
|
130
|
-
|
|
114
|
+
metadata:
|
|
115
|
+
rubygems_mfa_required: 'true'
|
|
131
116
|
rdoc_options: []
|
|
132
117
|
require_paths:
|
|
133
118
|
- lib
|
|
@@ -135,16 +120,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
135
120
|
requirements:
|
|
136
121
|
- - ">="
|
|
137
122
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: '
|
|
123
|
+
version: '4.0'
|
|
139
124
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
125
|
requirements:
|
|
141
126
|
- - ">="
|
|
142
127
|
- !ruby/object:Gem::Version
|
|
143
128
|
version: '0'
|
|
144
129
|
requirements: []
|
|
145
|
-
|
|
146
|
-
rubygems_version: 2.6.14.4
|
|
147
|
-
signing_key:
|
|
130
|
+
rubygems_version: 4.0.20
|
|
148
131
|
specification_version: 4
|
|
149
132
|
summary: AEM API Ruby client
|
|
150
133
|
test_files: []
|