stackmate 0.1.2 → 0.2.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.
- data/README.md +1 -0
- data/bin/stackmate.rb +9 -5
- data/lib/stackmate/intrinsic_functions.rb +3 -3
- data/lib/stackmate/metadata.rb +44 -0
- data/lib/stackmate/participants/cloudstack.rb +51 -10
- data/lib/stackmate/participants/cloudstack_affinitygroup.rb +4 -1
- data/lib/stackmate/participants/cloudstack_autoscalepolicy.rb +4 -1
- data/lib/stackmate/participants/cloudstack_autoscalevmgroup.rb +4 -1
- data/lib/stackmate/participants/cloudstack_autoscalevmprofile.rb +4 -1
- data/lib/stackmate/participants/cloudstack_condition.rb +4 -1
- data/lib/stackmate/participants/cloudstack_egressfirewallrule.rb +4 -1
- data/lib/stackmate/participants/cloudstack_firewallrule.rb +4 -1
- data/lib/stackmate/participants/cloudstack_globalloadbalancerrule.rb +4 -1
- data/lib/stackmate/participants/cloudstack_instancegroup.rb +4 -1
- data/lib/stackmate/participants/cloudstack_ipaddress.rb +4 -1
- data/lib/stackmate/participants/cloudstack_ipforwardingrule.rb +4 -1
- data/lib/stackmate/participants/cloudstack_iptonic.rb +4 -1
- data/lib/stackmate/participants/cloudstack_iso.rb +4 -1
- data/lib/stackmate/participants/cloudstack_lbhealthcheckpolicy.rb +4 -1
- data/lib/stackmate/participants/cloudstack_lbstickinesspolicy.rb +4 -1
- data/lib/stackmate/participants/cloudstack_loadbalancer.rb +4 -1
- data/lib/stackmate/participants/cloudstack_loadbalancerrule.rb +4 -1
- data/lib/stackmate/participants/cloudstack_network.rb +4 -1
- data/lib/stackmate/participants/cloudstack_networkacl.rb +4 -1
- data/lib/stackmate/participants/cloudstack_networkacllist.rb +4 -1
- data/lib/stackmate/participants/cloudstack_nictovirtualmachine.rb +5 -2
- data/lib/stackmate/participants/cloudstack_portforwardingrule.rb +4 -1
- data/lib/stackmate/participants/cloudstack_project.rb +4 -1
- data/lib/stackmate/participants/cloudstack_remoteaccessvpn.rb +4 -1
- data/lib/stackmate/participants/cloudstack_securitygroup.rb +4 -1
- data/lib/stackmate/participants/cloudstack_securitygroupegress.rb +4 -1
- data/lib/stackmate/participants/cloudstack_securitygroupingress.rb +4 -1
- data/lib/stackmate/participants/cloudstack_snapshot.rb +4 -1
- data/lib/stackmate/participants/cloudstack_snapshotpolicy.rb +4 -1
- data/lib/stackmate/participants/cloudstack_sshkeypair.rb +4 -1
- data/lib/stackmate/participants/cloudstack_staticnat.rb +4 -1
- data/lib/stackmate/participants/cloudstack_staticroute.rb +4 -1
- data/lib/stackmate/participants/cloudstack_tags.rb +4 -1
- data/lib/stackmate/participants/cloudstack_template.rb +4 -1
- data/lib/stackmate/participants/cloudstack_togloballoadbalancerrule.rb +4 -1
- data/lib/stackmate/participants/cloudstack_toloadbalancerrule.rb +4 -1
- data/lib/stackmate/participants/cloudstack_virtualmachine.rb +257 -281
- data/lib/stackmate/participants/cloudstack_virtualmachineops.rb +5 -2
- data/lib/stackmate/participants/cloudstack_vmsnapshot.rb +4 -1
- data/lib/stackmate/participants/cloudstack_volume.rb +4 -1
- data/lib/stackmate/participants/cloudstack_volumeops.rb +86 -90
- data/lib/stackmate/participants/cloudstack_vpc.rb +4 -1
- data/lib/stackmate/participants/cloudstack_vpnconnection.rb +4 -1
- data/lib/stackmate/participants/cloudstack_vpncustomergateway.rb +4 -1
- data/lib/stackmate/participants/cloudstack_vpngateway.rb +4 -1
- data/lib/stackmate/participants/cloudstack_vpnuser.rb +4 -1
- data/lib/stackmate/participants/common.rb +4 -2
- data/lib/stackmate/resolver.rb +28 -1
- data/lib/stackmate/stack_executor.rb +9 -5
- data/lib/stackmate/stack_server.rb +60 -0
- data/lib/stackmate/stackpi.rb +2 -7
- data/lib/stackmate/version.rb +1 -1
- data/lib/stackmate/waitcondition_server.rb +4 -6
- metadata +4 -2
@@ -21,6 +21,7 @@ module StackMate
|
|
21
21
|
p args
|
22
22
|
result_obj = make_sync_request('createInstanceGroup',args)
|
23
23
|
resource_obj = result_obj['InstanceGroup'.downcase]
|
24
|
+
|
24
25
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
25
26
|
resource_obj.each_key do |k|
|
26
27
|
val = resource_obj[k]
|
@@ -30,6 +31,7 @@ module StackMate
|
|
30
31
|
workitem[@name][k] = val
|
31
32
|
end
|
32
33
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"InstanceGroup") if @props.has_key?('tags')
|
34
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
33
35
|
workitem['ResolvedNames'][@name] = name_cs
|
34
36
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
35
37
|
|
@@ -54,6 +56,7 @@ module StackMate
|
|
54
56
|
if (!(result_obj['error'] == true))
|
55
57
|
logger.info("Successfully deleted resource #{@name}")
|
56
58
|
else
|
59
|
+
workitem[@name]['delete_error'] = true
|
57
60
|
logger.info("CloudStack error while deleting resource #{@name}")
|
58
61
|
end
|
59
62
|
else
|
@@ -110,4 +113,4 @@ module StackMate
|
|
110
113
|
end
|
111
114
|
end
|
112
115
|
end
|
113
|
-
|
116
|
+
|
@@ -25,6 +25,7 @@ module StackMate
|
|
25
25
|
p args
|
26
26
|
result_obj = make_async_request('associateIpAddress',args)
|
27
27
|
resource_obj = result_obj['IpAddress'.downcase]
|
28
|
+
|
28
29
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
29
30
|
resource_obj.each_key do |k|
|
30
31
|
val = resource_obj[k]
|
@@ -34,6 +35,7 @@ module StackMate
|
|
34
35
|
workitem[@name][k] = val
|
35
36
|
end
|
36
37
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"IpAddress") if @props.has_key?('tags')
|
38
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
37
39
|
workitem['ResolvedNames'][@name] = name_cs
|
38
40
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
39
41
|
|
@@ -58,6 +60,7 @@ module StackMate
|
|
58
60
|
if (!(result_obj['error'] == true))
|
59
61
|
logger.info("Successfully deleted resource #{@name}")
|
60
62
|
else
|
63
|
+
workitem[@name]['delete_error'] = true
|
61
64
|
logger.info("CloudStack error while deleting resource #{@name}")
|
62
65
|
end
|
63
66
|
else
|
@@ -146,4 +149,4 @@ module StackMate
|
|
146
149
|
end
|
147
150
|
end
|
148
151
|
end
|
149
|
-
|
152
|
+
|
@@ -23,6 +23,7 @@ module StackMate
|
|
23
23
|
p args
|
24
24
|
result_obj = make_async_request('createIpForwardingRule',args)
|
25
25
|
resource_obj = result_obj['IpForwardingRule'.downcase]
|
26
|
+
|
26
27
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
27
28
|
resource_obj.each_key do |k|
|
28
29
|
val = resource_obj[k]
|
@@ -32,6 +33,7 @@ module StackMate
|
|
32
33
|
workitem[@name][k] = val
|
33
34
|
end
|
34
35
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"IpForwardingRule") if @props.has_key?('tags')
|
36
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
35
37
|
workitem['ResolvedNames'][@name] = name_cs
|
36
38
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
37
39
|
|
@@ -56,6 +58,7 @@ module StackMate
|
|
56
58
|
if (!(result_obj['error'] == true))
|
57
59
|
logger.info("Successfully deleted resource #{@name}")
|
58
60
|
else
|
61
|
+
workitem[@name]['delete_error'] = true
|
59
62
|
logger.info("CloudStack error while deleting resource #{@name}")
|
60
63
|
end
|
61
64
|
else
|
@@ -128,4 +131,4 @@ module StackMate
|
|
128
131
|
end
|
129
132
|
end
|
130
133
|
end
|
131
|
-
|
134
|
+
|
@@ -19,6 +19,7 @@ module StackMate
|
|
19
19
|
p args
|
20
20
|
result_obj = make_async_request('addIpToNic',args)
|
21
21
|
resource_obj = result_obj['IpToNic'.downcase]
|
22
|
+
|
22
23
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
23
24
|
resource_obj.each_key do |k|
|
24
25
|
val = resource_obj[k]
|
@@ -28,6 +29,7 @@ module StackMate
|
|
28
29
|
workitem[@name][k] = val
|
29
30
|
end
|
30
31
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"IpToNic") if @props.has_key?('tags')
|
32
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
31
33
|
workitem['ResolvedNames'][@name] = name_cs
|
32
34
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
33
35
|
|
@@ -52,6 +54,7 @@ module StackMate
|
|
52
54
|
if (!(result_obj['error'] == true))
|
53
55
|
logger.info("Successfully deleted resource #{@name}")
|
54
56
|
else
|
57
|
+
workitem[@name]['delete_error'] = true
|
55
58
|
logger.info("CloudStack error while deleting resource #{@name}")
|
56
59
|
end
|
57
60
|
else
|
@@ -92,4 +95,4 @@ module StackMate
|
|
92
95
|
end
|
93
96
|
end
|
94
97
|
end
|
95
|
-
|
98
|
+
|
@@ -19,6 +19,7 @@ module StackMate
|
|
19
19
|
p args
|
20
20
|
result_obj = make_async_request('attachIso',args)
|
21
21
|
resource_obj = result_obj['Iso'.downcase]
|
22
|
+
|
22
23
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
23
24
|
resource_obj.each_key do |k|
|
24
25
|
val = resource_obj[k]
|
@@ -28,6 +29,7 @@ module StackMate
|
|
28
29
|
workitem[@name][k] = val
|
29
30
|
end
|
30
31
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"Iso") if @props.has_key?('tags')
|
32
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
31
33
|
workitem['ResolvedNames'][@name] = name_cs
|
32
34
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
33
35
|
|
@@ -52,6 +54,7 @@ module StackMate
|
|
52
54
|
if (!(result_obj['error'] == true))
|
53
55
|
logger.info("Successfully deleted resource #{@name}")
|
54
56
|
else
|
57
|
+
workitem[@name]['delete_error'] = true
|
55
58
|
logger.info("CloudStack error while deleting resource #{@name}")
|
56
59
|
end
|
57
60
|
else
|
@@ -92,4 +95,4 @@ module StackMate
|
|
92
95
|
end
|
93
96
|
end
|
94
97
|
end
|
95
|
-
|
98
|
+
|
@@ -24,6 +24,7 @@ module StackMate
|
|
24
24
|
p args
|
25
25
|
result_obj = make_async_request('createLBHealthCheckPolicy',args)
|
26
26
|
resource_obj = result_obj['LBHealthCheckPolicy'.downcase]
|
27
|
+
|
27
28
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
28
29
|
resource_obj.each_key do |k|
|
29
30
|
val = resource_obj[k]
|
@@ -33,6 +34,7 @@ module StackMate
|
|
33
34
|
workitem[@name][k] = val
|
34
35
|
end
|
35
36
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"LBHealthCheckPolicy") if @props.has_key?('tags')
|
37
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
36
38
|
workitem['ResolvedNames'][@name] = name_cs
|
37
39
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
38
40
|
|
@@ -57,6 +59,7 @@ module StackMate
|
|
57
59
|
if (!(result_obj['error'] == true))
|
58
60
|
logger.info("Successfully deleted resource #{@name}")
|
59
61
|
else
|
62
|
+
workitem[@name]['delete_error'] = true
|
60
63
|
logger.info("CloudStack error while deleting resource #{@name}")
|
61
64
|
end
|
62
65
|
else
|
@@ -137,4 +140,4 @@ module StackMate
|
|
137
140
|
end
|
138
141
|
end
|
139
142
|
end
|
140
|
-
|
143
|
+
|
@@ -22,6 +22,7 @@ module StackMate
|
|
22
22
|
p args
|
23
23
|
result_obj = make_async_request('createLBStickinessPolicy',args)
|
24
24
|
resource_obj = result_obj['LBStickinessPolicy'.downcase]
|
25
|
+
|
25
26
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
26
27
|
resource_obj.each_key do |k|
|
27
28
|
val = resource_obj[k]
|
@@ -31,6 +32,7 @@ module StackMate
|
|
31
32
|
workitem[@name][k] = val
|
32
33
|
end
|
33
34
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"LBStickinessPolicy") if @props.has_key?('tags')
|
35
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
34
36
|
workitem['ResolvedNames'][@name] = name_cs
|
35
37
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
36
38
|
|
@@ -55,6 +57,7 @@ module StackMate
|
|
55
57
|
if (!(result_obj['error'] == true))
|
56
58
|
logger.info("Successfully deleted resource #{@name}")
|
57
59
|
else
|
60
|
+
workitem[@name]['delete_error'] = true
|
58
61
|
logger.info("CloudStack error while deleting resource #{@name}")
|
59
62
|
end
|
60
63
|
else
|
@@ -119,4 +122,4 @@ module StackMate
|
|
119
122
|
end
|
120
123
|
end
|
121
124
|
end
|
122
|
-
|
125
|
+
|
@@ -26,6 +26,7 @@ module StackMate
|
|
26
26
|
p args
|
27
27
|
result_obj = make_async_request('createLoadBalancer',args)
|
28
28
|
resource_obj = result_obj['LoadBalancer'.downcase]
|
29
|
+
|
29
30
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
30
31
|
resource_obj.each_key do |k|
|
31
32
|
val = resource_obj[k]
|
@@ -35,6 +36,7 @@ module StackMate
|
|
35
36
|
workitem[@name][k] = val
|
36
37
|
end
|
37
38
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"LoadBalancer") if @props.has_key?('tags')
|
39
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
38
40
|
workitem['ResolvedNames'][@name] = name_cs
|
39
41
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
40
42
|
|
@@ -59,6 +61,7 @@ module StackMate
|
|
59
61
|
if (!(result_obj['error'] == true))
|
60
62
|
logger.info("Successfully deleted resource #{@name}")
|
61
63
|
else
|
64
|
+
workitem[@name]['delete_error'] = true
|
62
65
|
logger.info("CloudStack error while deleting resource #{@name}")
|
63
66
|
end
|
64
67
|
else
|
@@ -155,4 +158,4 @@ module StackMate
|
|
155
158
|
end
|
156
159
|
end
|
157
160
|
end
|
158
|
-
|
161
|
+
|
@@ -29,6 +29,7 @@ module StackMate
|
|
29
29
|
p args
|
30
30
|
result_obj = make_async_request('createLoadBalancerRule',args)
|
31
31
|
resource_obj = result_obj['LoadBalancerRule'.downcase]
|
32
|
+
|
32
33
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
33
34
|
resource_obj.each_key do |k|
|
34
35
|
val = resource_obj[k]
|
@@ -38,6 +39,7 @@ module StackMate
|
|
38
39
|
workitem[@name][k] = val
|
39
40
|
end
|
40
41
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"LoadBalancerRule") if @props.has_key?('tags')
|
42
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
41
43
|
workitem['ResolvedNames'][@name] = name_cs
|
42
44
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
43
45
|
|
@@ -62,6 +64,7 @@ module StackMate
|
|
62
64
|
if (!(result_obj['error'] == true))
|
63
65
|
logger.info("Successfully deleted resource #{@name}")
|
64
66
|
else
|
67
|
+
workitem[@name]['delete_error'] = true
|
65
68
|
logger.info("CloudStack error while deleting resource #{@name}")
|
66
69
|
end
|
67
70
|
else
|
@@ -182,4 +185,4 @@ module StackMate
|
|
182
185
|
end
|
183
186
|
end
|
184
187
|
end
|
185
|
-
|
188
|
+
|
@@ -41,6 +41,7 @@ module StackMate
|
|
41
41
|
p args
|
42
42
|
result_obj = make_sync_request('createNetwork',args)
|
43
43
|
resource_obj = result_obj['Network'.downcase]
|
44
|
+
|
44
45
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
45
46
|
resource_obj.each_key do |k|
|
46
47
|
val = resource_obj[k]
|
@@ -50,6 +51,7 @@ module StackMate
|
|
50
51
|
workitem[@name][k] = val
|
51
52
|
end
|
52
53
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"Network") if @props.has_key?('tags')
|
54
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
53
55
|
workitem['ResolvedNames'][@name] = name_cs
|
54
56
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
55
57
|
|
@@ -74,6 +76,7 @@ module StackMate
|
|
74
76
|
if (!(result_obj['error'] == true))
|
75
77
|
logger.info("Successfully deleted resource #{@name}")
|
76
78
|
else
|
79
|
+
workitem[@name]['delete_error'] = true
|
77
80
|
logger.info("CloudStack error while deleting resource #{@name}")
|
78
81
|
end
|
79
82
|
else
|
@@ -290,4 +293,4 @@ module StackMate
|
|
290
293
|
end
|
291
294
|
end
|
292
295
|
end
|
293
|
-
|
296
|
+
|
@@ -28,6 +28,7 @@ module StackMate
|
|
28
28
|
p args
|
29
29
|
result_obj = make_async_request('createNetworkACL',args)
|
30
30
|
resource_obj = result_obj['NetworkACL'.downcase]
|
31
|
+
|
31
32
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
32
33
|
resource_obj.each_key do |k|
|
33
34
|
val = resource_obj[k]
|
@@ -37,6 +38,7 @@ module StackMate
|
|
37
38
|
workitem[@name][k] = val
|
38
39
|
end
|
39
40
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"NetworkACL") if @props.has_key?('tags')
|
41
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
40
42
|
workitem['ResolvedNames'][@name] = name_cs
|
41
43
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
42
44
|
|
@@ -61,6 +63,7 @@ module StackMate
|
|
61
63
|
if (!(result_obj['error'] == true))
|
62
64
|
logger.info("Successfully deleted resource #{@name}")
|
63
65
|
else
|
66
|
+
workitem[@name]['delete_error'] = true
|
64
67
|
logger.info("CloudStack error while deleting resource #{@name}")
|
65
68
|
end
|
66
69
|
else
|
@@ -173,4 +176,4 @@ module StackMate
|
|
173
176
|
end
|
174
177
|
end
|
175
178
|
end
|
176
|
-
|
179
|
+
|
@@ -20,6 +20,7 @@ module StackMate
|
|
20
20
|
p args
|
21
21
|
result_obj = make_async_request('createNetworkACLList',args)
|
22
22
|
resource_obj = result_obj['NetworkACLList'.downcase]
|
23
|
+
|
23
24
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
24
25
|
resource_obj.each_key do |k|
|
25
26
|
val = resource_obj[k]
|
@@ -29,6 +30,7 @@ module StackMate
|
|
29
30
|
workitem[@name][k] = val
|
30
31
|
end
|
31
32
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"NetworkACLList") if @props.has_key?('tags')
|
33
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
32
34
|
workitem['ResolvedNames'][@name] = name_cs
|
33
35
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
34
36
|
|
@@ -53,6 +55,7 @@ module StackMate
|
|
53
55
|
if (!(result_obj['error'] == true))
|
54
56
|
logger.info("Successfully deleted resource #{@name}")
|
55
57
|
else
|
58
|
+
workitem[@name]['delete_error'] = true
|
56
59
|
logger.info("CloudStack error while deleting resource #{@name}")
|
57
60
|
end
|
58
61
|
else
|
@@ -101,4 +104,4 @@ module StackMate
|
|
101
104
|
end
|
102
105
|
end
|
103
106
|
end
|
104
|
-
|
107
|
+
|
@@ -20,6 +20,7 @@ module StackMate
|
|
20
20
|
p args
|
21
21
|
result_obj = make_async_request('addNicToVirtualMachine',args)
|
22
22
|
resource_obj = result_obj['NicToVirtualMachine'.downcase]
|
23
|
+
|
23
24
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
24
25
|
resource_obj.each_key do |k|
|
25
26
|
val = resource_obj[k]
|
@@ -28,7 +29,8 @@ module StackMate
|
|
28
29
|
end
|
29
30
|
workitem[@name][k] = val
|
30
31
|
end
|
31
|
-
set_tags(@props['tags'],workitem[@name]['physical_id'],"
|
32
|
+
set_tags(@props['tags'],workitem[@name]['physical_id'],"UserVM") if @props.has_key?('tags')
|
33
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
32
34
|
workitem['ResolvedNames'][@name] = name_cs
|
33
35
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
34
36
|
|
@@ -53,6 +55,7 @@ module StackMate
|
|
53
55
|
if (!(result_obj['error'] == true))
|
54
56
|
logger.info("Successfully deleted resource #{@name}")
|
55
57
|
else
|
58
|
+
workitem[@name]['delete_error'] = true
|
56
59
|
logger.info("CloudStack error while deleting resource #{@name}")
|
57
60
|
end
|
58
61
|
else
|
@@ -101,4 +104,4 @@ module StackMate
|
|
101
104
|
end
|
102
105
|
end
|
103
106
|
end
|
104
|
-
|
107
|
+
|
@@ -28,6 +28,7 @@ module StackMate
|
|
28
28
|
p args
|
29
29
|
result_obj = make_async_request('createPortForwardingRule',args)
|
30
30
|
resource_obj = result_obj['PortForwardingRule'.downcase]
|
31
|
+
|
31
32
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
32
33
|
resource_obj.each_key do |k|
|
33
34
|
val = resource_obj[k]
|
@@ -37,6 +38,7 @@ module StackMate
|
|
37
38
|
workitem[@name][k] = val
|
38
39
|
end
|
39
40
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"PortForwardingRule") if @props.has_key?('tags')
|
41
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
40
42
|
workitem['ResolvedNames'][@name] = name_cs
|
41
43
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
42
44
|
|
@@ -61,6 +63,7 @@ module StackMate
|
|
61
63
|
if (!(result_obj['error'] == true))
|
62
64
|
logger.info("Successfully deleted resource #{@name}")
|
63
65
|
else
|
66
|
+
workitem[@name]['delete_error'] = true
|
64
67
|
logger.info("CloudStack error while deleting resource #{@name}")
|
65
68
|
end
|
66
69
|
else
|
@@ -173,4 +176,4 @@ module StackMate
|
|
173
176
|
end
|
174
177
|
end
|
175
178
|
end
|
176
|
-
|
179
|
+
|
@@ -21,6 +21,7 @@ module StackMate
|
|
21
21
|
p args
|
22
22
|
result_obj = make_async_request('createProject',args)
|
23
23
|
resource_obj = result_obj['Project'.downcase]
|
24
|
+
|
24
25
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
25
26
|
resource_obj.each_key do |k|
|
26
27
|
val = resource_obj[k]
|
@@ -30,6 +31,7 @@ module StackMate
|
|
30
31
|
workitem[@name][k] = val
|
31
32
|
end
|
32
33
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"Project") if @props.has_key?('tags')
|
34
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
33
35
|
workitem['ResolvedNames'][@name] = name_cs
|
34
36
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
35
37
|
|
@@ -54,6 +56,7 @@ module StackMate
|
|
54
56
|
if (!(result_obj['error'] == true))
|
55
57
|
logger.info("Successfully deleted resource #{@name}")
|
56
58
|
else
|
59
|
+
workitem[@name]['delete_error'] = true
|
57
60
|
logger.info("CloudStack error while deleting resource #{@name}")
|
58
61
|
end
|
59
62
|
else
|
@@ -110,4 +113,4 @@ module StackMate
|
|
110
113
|
end
|
111
114
|
end
|
112
115
|
end
|
113
|
-
|
116
|
+
|
@@ -22,6 +22,7 @@ module StackMate
|
|
22
22
|
p args
|
23
23
|
result_obj = make_async_request('createRemoteAccessVpn',args)
|
24
24
|
resource_obj = result_obj['RemoteAccessVpn'.downcase]
|
25
|
+
|
25
26
|
#doing it this way since it is easier to change later, rather than cloning whole object
|
26
27
|
resource_obj.each_key do |k|
|
27
28
|
val = resource_obj[k]
|
@@ -31,6 +32,7 @@ module StackMate
|
|
31
32
|
workitem[@name][k] = val
|
32
33
|
end
|
33
34
|
set_tags(@props['tags'],workitem[@name]['physical_id'],"RemoteAccessVpn") if @props.has_key?('tags')
|
35
|
+
set_metadata if workitem['Resources'][@name].has_key?('Metadata')
|
34
36
|
workitem['ResolvedNames'][@name] = name_cs
|
35
37
|
workitem['IdMap'][workitem[@name]['physical_id']] = @name
|
36
38
|
|
@@ -55,6 +57,7 @@ module StackMate
|
|
55
57
|
if (!(result_obj['error'] == true))
|
56
58
|
logger.info("Successfully deleted resource #{@name}")
|
57
59
|
else
|
60
|
+
workitem[@name]['delete_error'] = true
|
58
61
|
logger.info("CloudStack error while deleting resource #{@name}")
|
59
62
|
end
|
60
63
|
else
|
@@ -119,4 +122,4 @@ module StackMate
|
|
119
122
|
end
|
120
123
|
end
|
121
124
|
end
|
122
|
-
|
125
|
+
|