MuranoCLI 3.2.1.pre.beta.3 → 3.2.1.pre.beta.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/MrMurano/Gateway.rb +3 -11
- data/lib/MrMurano/Solution-Services.rb +20 -15
- data/lib/MrMurano/Solution-Users.rb +1 -0
- data/lib/MrMurano/SyncUpDown-Core.rb +3 -3
- data/lib/MrMurano/SyncUpDown-Item.rb +11 -8
- data/lib/MrMurano/Webservice-Endpoint.rb +8 -14
- data/lib/MrMurano/Webservice-File.rb +15 -13
- data/lib/MrMurano/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7812fe5f8ac5180e3f818638e4586b70fab15a2007e64bd536c46d6fe741441a
|
4
|
+
data.tar.gz: 6e5f89324f7568fc559efbf72d598c17b28da66626e40004e7a1de670afd34c3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b05b44d56e78ae1a5db9e8bb4a74833b203a29a52662e396df9cf26569e9e18d173201b97c28a4b3ff7b3e34d3f82045f84af6b61d456b8adc586ca9015b61d5
|
7
|
+
data.tar.gz: '020758ee1312fbbc66a966b11c8b7c69c0401b67a421c591c58a5771fbcdd0f8f881d2a097ac82987450a7a526290c5812f6e186090e1e996dee1d7849ab0ea7'
|
data/lib/MrMurano/Gateway.rb
CHANGED
@@ -128,17 +128,9 @@ module MrMurano
|
|
128
128
|
# @return [String] The resource alias.
|
129
129
|
attr_accessor :alias
|
130
130
|
|
131
|
-
def reject_ephemeral
|
132
|
-
|
133
|
-
|
134
|
-
# Server-siders:
|
135
|
-
# :format,
|
136
|
-
# :unit,
|
137
|
-
# :settable,
|
138
|
-
# :allowed,
|
139
|
-
# :alias,
|
140
|
-
].include? attr_key
|
141
|
-
end
|
131
|
+
def reject_ephemeral
|
132
|
+
# All attrs exist on server, so nothing to remove.
|
133
|
+
super
|
142
134
|
end
|
143
135
|
end
|
144
136
|
|
@@ -84,7 +84,7 @@ module MrMurano
|
|
84
84
|
script = config_vars_decode(script)
|
85
85
|
|
86
86
|
name = mkname(thereitem)
|
87
|
-
req_body = thereitem.to_h.merge(
|
87
|
+
req_body = thereitem.reject_ephemeral.to_h.merge(
|
88
88
|
solution_id: @api_id,
|
89
89
|
script: script,
|
90
90
|
alias: mkalias(thereitem),
|
@@ -286,21 +286,23 @@ module MrMurano
|
|
286
286
|
|
287
287
|
# What Murano calls "Modules". Snippets of Lua code.
|
288
288
|
class Module < ServiceBase
|
289
|
-
# Module Specific details on an Item
|
289
|
+
# Module Specific details on an Item.
|
290
290
|
class ModuleItem < Item
|
291
|
-
# @return [String] Internal Alias name
|
291
|
+
# @return [String] Internal Alias name.
|
292
292
|
attr_accessor :alias
|
293
|
-
# @return [String] Timestamp when this was created.
|
293
|
+
# @return [String] Timestamp when this item was created.
|
294
294
|
attr_accessor :created_at
|
295
295
|
# @return [String] The application solution's ID.
|
296
296
|
attr_accessor :solution_id
|
297
297
|
|
298
|
-
def reject_ephemeral
|
298
|
+
def reject_ephemeral
|
299
299
|
super.reject do |attr_key, _|
|
300
300
|
[
|
301
|
-
:
|
301
|
+
# Writeable platform properties:
|
302
|
+
# :alias,
|
303
|
+
# :solution_id,
|
304
|
+
# Read-only platform properties:
|
302
305
|
:created_at,
|
303
|
-
:solution_id,
|
304
306
|
].include? attr_key
|
305
307
|
end
|
306
308
|
end
|
@@ -393,10 +395,12 @@ module MrMurano
|
|
393
395
|
class EventHandler < ServiceBase
|
394
396
|
# EventHandler Specific details on an Item
|
395
397
|
class EventHandlerItem < Item
|
398
|
+
# Already part of Item:
|
399
|
+
# :id
|
400
|
+
# :name
|
401
|
+
# :updated_at
|
396
402
|
# @return [String] Internal Alias name
|
397
403
|
attr_accessor :alias
|
398
|
-
# @return [String] Timestamp when this was updated.
|
399
|
-
attr_accessor :updated_at
|
400
404
|
# @return [String] Timestamp when this was created.
|
401
405
|
attr_accessor :created_at
|
402
406
|
# @return [String] The soln's product.id or application.id (Murano's api_id).
|
@@ -418,19 +422,20 @@ module MrMurano
|
|
418
422
|
# @return [Boolean] True if a service that should not be deleted remotely.
|
419
423
|
attr_accessor :undeletable
|
420
424
|
|
421
|
-
def reject_ephemeral
|
425
|
+
def reject_ephemeral
|
422
426
|
super.reject do |attr_key, attr_val|
|
423
427
|
[
|
424
|
-
#
|
428
|
+
# Writeable platform properties:
|
425
429
|
# :alias,
|
426
|
-
# :service,
|
427
430
|
# :event,
|
431
|
+
# :service,
|
432
|
+
# :solution_id,
|
428
433
|
# :type,
|
429
|
-
:
|
434
|
+
# Read-only platform properties:
|
430
435
|
:created_at,
|
431
|
-
:
|
432
|
-
:svc_alias,
|
436
|
+
# Local-only attrs:
|
433
437
|
:phantom,
|
438
|
+
:svc_alias,
|
434
439
|
:undeletable,
|
435
440
|
].include?(attr_key) || ((attr_key == :type) && (attr_val.nil?))
|
436
441
|
end
|
@@ -60,19 +60,19 @@ module MrMurano
|
|
60
60
|
end
|
61
61
|
todel.select { |item| item[:phantom] }.each do |item|
|
62
62
|
syncup_item(item, options, :delete, 'Clearing') do |aitem|
|
63
|
-
remove_or_clear(aitem[itemkey], aitem
|
63
|
+
remove_or_clear(aitem[itemkey], aitem, true)
|
64
64
|
num_synced += 1
|
65
65
|
end
|
66
66
|
end
|
67
67
|
toadd.each do |item|
|
68
68
|
syncup_item(item, options, :create, 'Adding') do |aitem|
|
69
|
-
upload(aitem[:local_path], aitem
|
69
|
+
upload(aitem[:local_path], aitem, false)
|
70
70
|
num_synced += 1
|
71
71
|
end
|
72
72
|
end
|
73
73
|
tomod.each do |item|
|
74
74
|
syncup_item(item, options, :update, 'Updating') do |aitem|
|
75
|
-
upload(aitem[:local_path], aitem
|
75
|
+
upload(aitem[:local_path], aitem, true)
|
76
76
|
num_synced += 1
|
77
77
|
end
|
78
78
|
end
|
@@ -20,7 +20,8 @@ module MrMurano
|
|
20
20
|
attr_accessor :name
|
21
21
|
# @return [Pathname] Where this item lives.
|
22
22
|
attr_accessor :local_path
|
23
|
-
#
|
23
|
+
# Read-only platform UUID, used to uniquely identify items.
|
24
|
+
# See also writable :alias property available on some items.
|
24
25
|
attr_accessor :id
|
25
26
|
# @return [String] The Lua code for this item. (not all items use this.)
|
26
27
|
attr_accessor :script
|
@@ -156,23 +157,25 @@ module MrMurano
|
|
156
157
|
end
|
157
158
|
|
158
159
|
# Scrub local, non-BizAPI/Pegasus attrs from Item (before uploading).
|
159
|
-
def reject_ephemeral
|
160
|
+
def reject_ephemeral
|
160
161
|
reject do |attr_key, _|
|
161
162
|
[
|
162
|
-
#
|
163
|
+
# Writeable platform properties:
|
163
164
|
# :name,
|
164
165
|
# :script,
|
165
|
-
:
|
166
|
+
# Read-only platform properties:
|
166
167
|
:id,
|
168
|
+
:updated_at,
|
169
|
+
# Local-only attrs:
|
170
|
+
:diff,
|
171
|
+
:dup_count,
|
172
|
+
:header,
|
167
173
|
:line_beg,
|
168
174
|
:line_end,
|
169
|
-
:
|
170
|
-
:diff,
|
175
|
+
:local_path,
|
171
176
|
:selected,
|
172
177
|
:synckey,
|
173
178
|
:synctype,
|
174
|
-
:updated_at,
|
175
|
-
:dup_count,
|
176
179
|
].include? attr_key
|
177
180
|
end
|
178
181
|
end
|
@@ -29,15 +29,9 @@ module MrMurano
|
|
29
29
|
# the server, so the code actually indirectly sees it in `def []=`.
|
30
30
|
attr_accessor :use_basic_auth
|
31
31
|
|
32
|
-
def reject_ephemeral
|
33
|
-
|
34
|
-
|
35
|
-
# Server-siders:
|
36
|
-
# :method,
|
37
|
-
# :path,
|
38
|
-
# :content_type,
|
39
|
-
].include? attr_key
|
40
|
-
end
|
32
|
+
def reject_ephemeral
|
33
|
+
# All attrs exist on server, so nothing to remove.
|
34
|
+
super
|
41
35
|
end
|
42
36
|
end
|
43
37
|
|
@@ -139,10 +133,11 @@ module MrMurano
|
|
139
133
|
remote[:script] = script
|
140
134
|
end
|
141
135
|
limitkeys = [:method, :path, :script, :content_type, @itemkey]
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
136
|
+
itemkey = remote[@itemkey]
|
137
|
+
remote = remote.reject_ephemeral.to_h.select { |k, _v| limitkeys.include? k }
|
138
|
+
if !itemkey.nil?
|
139
|
+
return unless upload_item_allowed(itemkey)
|
140
|
+
put('/' + itemkey, remote) do |request, http|
|
146
141
|
response = http.request(request)
|
147
142
|
case response
|
148
143
|
when Net::HTTPSuccess
|
@@ -157,7 +152,6 @@ module MrMurano
|
|
157
152
|
end
|
158
153
|
else
|
159
154
|
verbose "\tNo itemkey, creating"
|
160
|
-
#return unless upload_item_allowed(remote)
|
161
155
|
return unless upload_item_allowed(local)
|
162
156
|
post('', remote)
|
163
157
|
end
|
@@ -28,24 +28,26 @@ module MrMurano
|
|
28
28
|
attr_accessor :path
|
29
29
|
# @return [String] The MIME-Type for this content
|
30
30
|
attr_accessor :mime_type
|
31
|
-
# @return [String] Checksum for the content.
|
31
|
+
# @return [String] Checksum for the content, returned on GET.
|
32
|
+
# EXPLAIN/2018-07-30: (lb): How does `checksum` relate to `md5`?
|
33
|
+
# 1. The asset service Swagger, at
|
34
|
+
# pegasus_api/services/asset.yaml
|
35
|
+
# suggests that `md5` is only returned on
|
36
|
+
# GET /asset/{solution_id}/store/{path}:
|
37
|
+
# 2. The Gateway service Swagger, at
|
38
|
+
# pegasus_api/services/webservice.yaml
|
39
|
+
# suggest that `checksum` is a CORS object (a typo?) returned on
|
40
|
+
# GET /{solution_id}/file
|
41
|
+
# (lb): Which leaves me very confused.
|
32
42
|
attr_accessor :checksum
|
33
|
-
# @return [String] MD5 checksum of the stored file. (
|
43
|
+
# @return [String] MD5 checksum of the stored file. (See also :checksum.)
|
34
44
|
attr_accessor :md5
|
35
45
|
# @return [Integer] Size in bytes of the stored file.
|
36
46
|
attr_accessor :size
|
37
47
|
|
38
|
-
def reject_ephemeral
|
39
|
-
|
40
|
-
|
41
|
-
# Server-siders:
|
42
|
-
# :path,
|
43
|
-
# :mime_type,
|
44
|
-
:checksum,
|
45
|
-
:md5,
|
46
|
-
:size,
|
47
|
-
].include? attr_key
|
48
|
-
end
|
48
|
+
def reject_ephemeral
|
49
|
+
# All attrs exist on server, so nothing to remove.
|
50
|
+
super
|
49
51
|
end
|
50
52
|
end
|
51
53
|
|
data/lib/MrMurano/version.rb
CHANGED
@@ -26,7 +26,7 @@ module MrMurano
|
|
26
26
|
# '3.0.0-beta.2' is changed to '3.0.0.pre.beta.2'
|
27
27
|
# which breaks our build (which expects the version to match herein).
|
28
28
|
# So stick to using the '.pre.X' syntax, which ruby/gems knows.
|
29
|
-
VERSION = '3.2.1.pre.beta.
|
29
|
+
VERSION = '3.2.1.pre.beta.4'
|
30
30
|
EXE_NAME = File.basename($PROGRAM_NAME)
|
31
31
|
SIGN_UP_URL = 'https://exosite.com/signup/'
|
32
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: MuranoCLI
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.1.pre.beta.
|
4
|
+
version: 3.2.1.pre.beta.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Conrad Tadpol Tilstra
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-07-
|
11
|
+
date: 2018-07-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: certified
|