stackmate 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
|