fog-oraclecloud 0.1.12 → 0.1.13

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +12 -10
  3. data/Gemfile +4 -4
  4. data/LICENSE +20 -20
  5. data/README.md +153 -153
  6. data/Rakefile +2 -2
  7. data/bin/console +14 -14
  8. data/bin/setup +8 -8
  9. data/fog-oracle.gemspec +32 -31
  10. data/lib/fog/oraclecloud.rb +29 -29
  11. data/lib/fog/oraclecloud/compute.rb +184 -184
  12. data/lib/fog/oraclecloud/database.rb +129 -129
  13. data/lib/fog/oraclecloud/java.rb +123 -115
  14. data/lib/fog/oraclecloud/models/compute/image.rb +43 -43
  15. data/lib/fog/oraclecloud/models/compute/image_list.rb +39 -39
  16. data/lib/fog/oraclecloud/models/compute/image_lists.rb +22 -22
  17. data/lib/fog/oraclecloud/models/compute/images.rb +22 -22
  18. data/lib/fog/oraclecloud/models/compute/instance.rb +74 -69
  19. data/lib/fog/oraclecloud/models/compute/instances.rb +22 -22
  20. data/lib/fog/oraclecloud/models/compute/object_plan.rb +16 -16
  21. data/lib/fog/oraclecloud/models/compute/object_plans.rb +12 -12
  22. data/lib/fog/oraclecloud/models/compute/orchestration.rb +89 -89
  23. data/lib/fog/oraclecloud/models/compute/orchestrations.rb +20 -20
  24. data/lib/fog/oraclecloud/models/compute/security_application.rb +42 -42
  25. data/lib/fog/oraclecloud/models/compute/security_applications.rb +22 -22
  26. data/lib/fog/oraclecloud/models/compute/security_list.rb +26 -26
  27. data/lib/fog/oraclecloud/models/compute/security_lists.rb +22 -22
  28. data/lib/fog/oraclecloud/models/compute/security_rule.rb +41 -41
  29. data/lib/fog/oraclecloud/models/compute/security_rules.rb +22 -22
  30. data/lib/fog/oraclecloud/models/compute/ssh_key.rb +37 -37
  31. data/lib/fog/oraclecloud/models/compute/ssh_keys.rb +22 -22
  32. data/lib/fog/oraclecloud/models/compute/volume.rb +47 -47
  33. data/lib/fog/oraclecloud/models/compute/volumes.rb +20 -20
  34. data/lib/fog/oraclecloud/models/database/backup.rb +37 -37
  35. data/lib/fog/oraclecloud/models/database/backups.rb +30 -30
  36. data/lib/fog/oraclecloud/models/database/instance.rb +331 -331
  37. data/lib/fog/oraclecloud/models/database/instances.rb +25 -25
  38. data/lib/fog/oraclecloud/models/database/patch.rb +34 -34
  39. data/lib/fog/oraclecloud/models/database/patches.rb +18 -18
  40. data/lib/fog/oraclecloud/models/database/recoveries.rb +26 -26
  41. data/lib/fog/oraclecloud/models/database/recovery.rb +43 -43
  42. data/lib/fog/oraclecloud/models/database/server.rb +28 -28
  43. data/lib/fog/oraclecloud/models/database/servers.rb +18 -18
  44. data/lib/fog/oraclecloud/models/database/snapshot.rb +60 -60
  45. data/lib/fog/oraclecloud/models/database/snapshots.rb +22 -22
  46. data/lib/fog/oraclecloud/models/java/database.rb +17 -17
  47. data/lib/fog/oraclecloud/models/java/databases.rb +17 -17
  48. data/lib/fog/oraclecloud/models/java/instance.rb +269 -265
  49. data/lib/fog/oraclecloud/models/java/instances.rb +23 -23
  50. data/lib/fog/oraclecloud/models/java/server.rb +62 -62
  51. data/lib/fog/oraclecloud/models/java/servers.rb +25 -25
  52. data/lib/fog/oraclecloud/models/soa/instance.rb +163 -163
  53. data/lib/fog/oraclecloud/models/soa/instances.rb +54 -54
  54. data/lib/fog/oraclecloud/models/storage/container.rb +33 -33
  55. data/lib/fog/oraclecloud/models/storage/containers.rb +24 -24
  56. data/lib/fog/oraclecloud/models/storage/object.rb +27 -27
  57. data/lib/fog/oraclecloud/models/storage/objects.rb +27 -27
  58. data/lib/fog/oraclecloud/requests/compute/create_image.rb +30 -30
  59. data/lib/fog/oraclecloud/requests/compute/create_image_list.rb +27 -27
  60. data/lib/fog/oraclecloud/requests/compute/create_instance.rb +53 -53
  61. data/lib/fog/oraclecloud/requests/compute/create_orchestration.rb +82 -82
  62. data/lib/fog/oraclecloud/requests/compute/create_security_application.rb +28 -28
  63. data/lib/fog/oraclecloud/requests/compute/create_security_rule.rb +29 -29
  64. data/lib/fog/oraclecloud/requests/compute/create_ssh_key.rb +46 -46
  65. data/lib/fog/oraclecloud/requests/compute/create_volume.rb +28 -28
  66. data/lib/fog/oraclecloud/requests/compute/delete_image.rb +19 -19
  67. data/lib/fog/oraclecloud/requests/compute/delete_image_list.rb +19 -19
  68. data/lib/fog/oraclecloud/requests/compute/delete_instance.rb +33 -33
  69. data/lib/fog/oraclecloud/requests/compute/delete_orchestration.rb +36 -36
  70. data/lib/fog/oraclecloud/requests/compute/delete_security_application.rb +20 -20
  71. data/lib/fog/oraclecloud/requests/compute/delete_security_rule.rb +20 -20
  72. data/lib/fog/oraclecloud/requests/compute/delete_ssh_key.rb +32 -32
  73. data/lib/fog/oraclecloud/requests/compute/get_image.rb +21 -21
  74. data/lib/fog/oraclecloud/requests/compute/get_image_list.rb +21 -21
  75. data/lib/fog/oraclecloud/requests/compute/get_instance.rb +45 -45
  76. data/lib/fog/oraclecloud/requests/compute/get_orchestration.rb +39 -39
  77. data/lib/fog/oraclecloud/requests/compute/get_security_application.rb +20 -20
  78. data/lib/fog/oraclecloud/requests/compute/get_security_rule.rb +20 -20
  79. data/lib/fog/oraclecloud/requests/compute/get_ssh_key.rb +39 -39
  80. data/lib/fog/oraclecloud/requests/compute/list_image_lists.rb +29 -29
  81. data/lib/fog/oraclecloud/requests/compute/list_images.rb +16 -16
  82. data/lib/fog/oraclecloud/requests/compute/list_instances.rb +28 -28
  83. data/lib/fog/oraclecloud/requests/compute/list_orchestrations.rb +28 -28
  84. data/lib/fog/oraclecloud/requests/compute/list_security_applications.rb +21 -21
  85. data/lib/fog/oraclecloud/requests/compute/list_security_lists.rb +16 -16
  86. data/lib/fog/oraclecloud/requests/compute/list_security_rules.rb +21 -21
  87. data/lib/fog/oraclecloud/requests/compute/list_ssh_keys.rb +29 -29
  88. data/lib/fog/oraclecloud/requests/compute/list_volumes.rb +16 -16
  89. data/lib/fog/oraclecloud/requests/compute/start_orchestration.rb +39 -39
  90. data/lib/fog/oraclecloud/requests/compute/stop_orchestration.rb +39 -39
  91. data/lib/fog/oraclecloud/requests/compute/update_image.rb +27 -27
  92. data/lib/fog/oraclecloud/requests/compute/update_image_list.rb +27 -27
  93. data/lib/fog/oraclecloud/requests/compute/update_orchestration.rb +80 -80
  94. data/lib/fog/oraclecloud/requests/compute/update_ssh_key.rb +49 -49
  95. data/lib/fog/oraclecloud/requests/database/backup_instance.rb +45 -45
  96. data/lib/fog/oraclecloud/requests/database/create_instance.rb +101 -101
  97. data/lib/fog/oraclecloud/requests/database/create_snapshot.rb +50 -50
  98. data/lib/fog/oraclecloud/requests/database/delete_instance.rb +26 -26
  99. data/lib/fog/oraclecloud/requests/database/delete_snapshot.rb +26 -26
  100. data/lib/fog/oraclecloud/requests/database/get_instance.rb +62 -62
  101. data/lib/fog/oraclecloud/requests/database/get_instance_from_job.rb +31 -31
  102. data/lib/fog/oraclecloud/requests/database/get_snapshot.rb +43 -43
  103. data/lib/fog/oraclecloud/requests/database/list_backups.rb +39 -39
  104. data/lib/fog/oraclecloud/requests/database/list_instances.rb +29 -29
  105. data/lib/fog/oraclecloud/requests/database/list_patches.rb +51 -51
  106. data/lib/fog/oraclecloud/requests/database/list_recoveries.rb +40 -40
  107. data/lib/fog/oraclecloud/requests/database/list_servers.rb +27 -27
  108. data/lib/fog/oraclecloud/requests/database/list_snapshots.rb +27 -27
  109. data/lib/fog/oraclecloud/requests/database/recover_instance.rb +83 -83
  110. data/lib/fog/oraclecloud/requests/database/scale_instance.rb +40 -40
  111. data/lib/fog/oraclecloud/requests/java/create_instance.rb +156 -87
  112. data/lib/fog/oraclecloud/requests/java/delete_instance.rb +37 -37
  113. data/lib/fog/oraclecloud/requests/java/get_instance.rb +43 -43
  114. data/lib/fog/oraclecloud/requests/java/get_server.rb +42 -42
  115. data/lib/fog/oraclecloud/requests/java/list_instances.rb +29 -29
  116. data/lib/fog/oraclecloud/requests/java/list_servers.rb +30 -30
  117. data/lib/fog/oraclecloud/requests/java/scale_a_node.rb +45 -45
  118. data/lib/fog/oraclecloud/requests/java/scale_in_a_cluster.rb +35 -35
  119. data/lib/fog/oraclecloud/requests/java/scale_out_a_cluster.rb +38 -38
  120. data/lib/fog/oraclecloud/requests/soa/create_instance.rb +71 -71
  121. data/lib/fog/oraclecloud/requests/soa/delete_instance.rb +35 -35
  122. data/lib/fog/oraclecloud/requests/soa/get_instance.rb +42 -42
  123. data/lib/fog/oraclecloud/requests/soa/get_job_status.rb +22 -22
  124. data/lib/fog/oraclecloud/requests/soa/list_instances.rb +29 -29
  125. data/lib/fog/oraclecloud/requests/storage/create_container.rb +41 -41
  126. data/lib/fog/oraclecloud/requests/storage/delete_container.rb +15 -15
  127. data/lib/fog/oraclecloud/requests/storage/get_container.rb +63 -63
  128. data/lib/fog/oraclecloud/requests/storage/list_containers.rb +27 -27
  129. data/lib/fog/oraclecloud/soa.rb +106 -106
  130. data/lib/fog/oraclecloud/storage.rb +98 -98
  131. data/lib/fog/oraclecloud/version.rb +5 -5
  132. data/tests/helper.rb +5 -3
  133. data/tests/helpers/mock_helper.rb +14 -14
  134. data/tests/requests/compute_tests.rb +9 -9
  135. data/tests/requests/database_tests.rb +241 -241
  136. data/tests/requests/instance_tests.rb +68 -61
  137. data/tests/requests/java_tests.rb +149 -109
  138. data/tests/requests/orchestrations_tests.rb +90 -90
  139. data/tests/requests/soa_tests.rb +151 -151
  140. data/tests/requests/ssh_keys_tests.rb +53 -53
  141. data/tests/requests/storage_tests.rb +54 -54
  142. metadata +17 -3
@@ -1,36 +1,36 @@
1
- module Fog
2
- module OracleCloud
3
- class Java
4
- class Real
5
-
6
- def scale_in_a_cluster(service_name, server_name)
7
-
8
- path = "/paas/service/jcs/api/v1.1/instances/#{@identity_domain}/#{service_name}/servers/#{server_name}"
9
-
10
- response = request(
11
- :expects => 202,
12
- :method => 'DELETE',
13
- :path => path
14
- )
15
- response
16
- end
17
- end
18
-
19
- class Mock
20
- def scale_in_a_cluster(service_name, server_name)
21
- response = Excon::Response.new
22
-
23
- response.status = 202
24
- response.body = {
25
- "status" => "New",
26
- "details" => {
27
- "message" => "JAAS-SCALING-044: Scaling in Job (ID: 20) server name [ExampleI_server_4] submitted for service [ExampleInstance]",
28
- "jobId" => "20"
29
- }
30
- }
31
- response
32
- end
33
- end
34
- end
35
- end
1
+ module Fog
2
+ module OracleCloud
3
+ class Java
4
+ class Real
5
+
6
+ def scale_in_a_cluster(service_name, server_name)
7
+
8
+ path = "/paas/service/jcs/api/v1.1/instances/#{@identity_domain}/#{service_name}/servers/#{server_name}"
9
+
10
+ response = request(
11
+ :expects => 202,
12
+ :method => 'DELETE',
13
+ :path => path
14
+ )
15
+ response
16
+ end
17
+ end
18
+
19
+ class Mock
20
+ def scale_in_a_cluster(service_name, server_name)
21
+ response = Excon::Response.new
22
+
23
+ response.status = 202
24
+ response.body = {
25
+ "status" => "New",
26
+ "details" => {
27
+ "message" => "JAAS-SCALING-044: Scaling in Job (ID: 20) server name [ExampleI_server_4] submitted for service [ExampleInstance]",
28
+ "jobId" => "20"
29
+ }
30
+ }
31
+ response
32
+ end
33
+ end
34
+ end
35
+ end
36
36
  end
@@ -1,39 +1,39 @@
1
- module Fog
2
- module OracleCloud
3
- class Java
4
- class Real
5
-
6
- def scale_out_a_cluster(service_name, cluster_name, create_cluster_if_missing)
7
-
8
- path = "/paas/service/jcs/api/v1.1/instances/#{@identity_domain}/#{service_name}/servers/#{cluster_name}"
9
- if create_cluster_if_missing then
10
- path = "#{path}?createClusterIfMissing=true"
11
- end
12
-
13
- response = request(
14
- :expects => 202,
15
- :method => 'POST',
16
- :path => path
17
- )
18
- response
19
- end
20
- end
21
-
22
- class Mock
23
- def scale_out_a_cluster(service_name, cluster_name, create_cluster_if_missing)
24
- response = Excon::Response.new
25
-
26
- response.status = 202
27
- response.body = {
28
- "status" => "New",
29
- "details" => {
30
- "message" => "JASS-SCALING-037: Scale out Job (ID: 17) for service [ExampleInstance] in cluster [ExampleI_cluster] submitted",
31
- "jobId" => "17"
32
- }
33
- }
34
- response
35
- end
36
- end
37
- end
38
- end
1
+ module Fog
2
+ module OracleCloud
3
+ class Java
4
+ class Real
5
+
6
+ def scale_out_a_cluster(service_name, cluster_name, create_cluster_if_missing)
7
+
8
+ path = "/paas/service/jcs/api/v1.1/instances/#{@identity_domain}/#{service_name}/servers/#{cluster_name}"
9
+ if create_cluster_if_missing then
10
+ path = "#{path}?createClusterIfMissing=true"
11
+ end
12
+
13
+ response = request(
14
+ :expects => 202,
15
+ :method => 'POST',
16
+ :path => path
17
+ )
18
+ response
19
+ end
20
+ end
21
+
22
+ class Mock
23
+ def scale_out_a_cluster(service_name, cluster_name, create_cluster_if_missing)
24
+ response = Excon::Response.new
25
+
26
+ response.status = 202
27
+ response.body = {
28
+ "status" => "New",
29
+ "details" => {
30
+ "message" => "JASS-SCALING-037: Scale out Job (ID: 17) for service [ExampleInstance] in cluster [ExampleI_cluster] submitted",
31
+ "jobId" => "17"
32
+ }
33
+ }
34
+ response
35
+ end
36
+ end
37
+ end
38
+ end
39
39
  end
@@ -1,71 +1,71 @@
1
- module Fog
2
- module OracleCloud
3
- class SOA
4
- class Real
5
- def create_instance(config, options)
6
- if !config[:cloudStorageContainer].start_with?("/Storage-")
7
- config[:cloudStorageContainer] = "/Storage-#{@identity_domain}/#{config[:cloudStorageContainer]}"
8
- end
9
-
10
- parameters = options.select{|key, value| [:adminPassword, :adminPort, :adminUserName, :backupVolumeSize, :clusterName, :contentPort, :dbaName, :dbaPassword, :dbServiceName, :deploymentChannelPort, :domainMode, :domainName, :domainPartitionCount, :domainVolumeSize, :edition, :ipReservations, :managedServerCount, :msInitialHeapMB, :msJvmArgs, :msMaxHeapMB, :msMaxPermMB, :msPermMb, :nodeManagerPassword, :nodeManagerPort, :nodeManagerUserName, :overwriteMsJvmArgs, :pdbName, :securedAdminPort, :securedContentPort, :shape, :VMsPublicKey, :version].include?(key)}
11
- parameters.reject! { |key,value| value.nil?}
12
- config.reject! { |key,value| value.nil?}
13
- # Currently only support weblogic
14
- parameters[:type] = "weblogic"
15
- config[:parameters] = [parameters]
16
- body_data = config
17
-
18
- request({
19
- :method => 'POST',
20
- :expects => 202,
21
- :path => "/paas/service/soa/api/v1.1/instances/#{@identity_domain}",
22
- :body => Fog::JSON.encode(body_data),
23
- :headers => {
24
- 'Content-Type'=>'application/json'
25
- }
26
- }, false)
27
- end
28
- end
29
-
30
- class Mock
31
- def create_instance(config, options)
32
- response = Excon::Response.new
33
-
34
- ip = '192.168.1.1'
35
- data = {
36
- 'status' => 'In Progress',
37
- 'compute_site_name' => 'EM002_Z11',
38
- 'content_url' => "http://#{ip}",
39
- 'created_by' => @username,
40
- 'creation_job_id' => Random.rand(100000),
41
- 'creation_time'=> Time.now.strftime('%Y-%b-%dT%H:%M:%S'),
42
- 'last_modified_time'=> Time.now.strftime('%Y-%b-%dT%H:%M:%S'),
43
- 'service_id' => Random.rand(100000),
44
- 'service_type' => config[:topology],
45
- 'service_uri'=>"#{@region_url}/paas/service/dbcs/api/v1.1/instances/#{@identity_domain}/#{config[:serviceName]}",
46
- }
47
- .merge(config.select {|key, value| [:serviceName, :description, :level, :subscriptionType].include?(key) })
48
- .merge(options.select {|key, value| [:shape, :version].include?(key) }).collect{|k,v| [k.to_s, v]}.to_h
49
-
50
- self.data[:instances][config[:serviceName]] = data
51
- self.data[:created_at][config[:serviceName]] = Time.now
52
-
53
- server = {
54
- "name": "#{data['serviceName'][0,8]}_server_1",
55
- "shape": data['shape'],
56
- "nodeType": "WLS",
57
- "isAdmin": true,
58
- "hostname": ip,
59
- "status": "Ready",
60
- "storageAllocated": 74752,
61
- "creationDate": Time.now.strftime('%Y-%b-%dT%H:%M:%S')
62
- }
63
- self.data[:servers][data['serviceName']] = [server]
64
-
65
- response.status = 202
66
- response
67
- end
68
- end
69
- end
70
- end
71
- end
1
+ module Fog
2
+ module OracleCloud
3
+ class SOA
4
+ class Real
5
+ def create_instance(config, options)
6
+ if !config[:cloudStorageContainer].start_with?("/Storage-")
7
+ config[:cloudStorageContainer] = "/Storage-#{@identity_domain}/#{config[:cloudStorageContainer]}"
8
+ end
9
+
10
+ parameters = options.select{|key, value| [:adminPassword, :adminPort, :adminUserName, :backupVolumeSize, :clusterName, :contentPort, :dbaName, :dbaPassword, :dbServiceName, :deploymentChannelPort, :domainMode, :domainName, :domainPartitionCount, :domainVolumeSize, :edition, :ipReservations, :managedServerCount, :msInitialHeapMB, :msJvmArgs, :msMaxHeapMB, :msMaxPermMB, :msPermMb, :nodeManagerPassword, :nodeManagerPort, :nodeManagerUserName, :overwriteMsJvmArgs, :pdbName, :securedAdminPort, :securedContentPort, :shape, :VMsPublicKey, :version].include?(key)}
11
+ parameters.reject! { |key,value| value.nil?}
12
+ config.reject! { |key,value| value.nil?}
13
+ # Currently only support weblogic
14
+ parameters[:type] = "weblogic"
15
+ config[:parameters] = [parameters]
16
+ body_data = config
17
+
18
+ request({
19
+ :method => 'POST',
20
+ :expects => 202,
21
+ :path => "/paas/service/soa/api/v1.1/instances/#{@identity_domain}",
22
+ :body => Fog::JSON.encode(body_data),
23
+ :headers => {
24
+ 'Content-Type'=>'application/json'
25
+ }
26
+ }, false)
27
+ end
28
+ end
29
+
30
+ class Mock
31
+ def create_instance(config, options)
32
+ response = Excon::Response.new
33
+
34
+ ip = '192.168.1.1'
35
+ data = {
36
+ 'status' => 'In Progress',
37
+ 'compute_site_name' => 'EM002_Z11',
38
+ 'content_url' => "http://#{ip}",
39
+ 'created_by' => @username,
40
+ 'creation_job_id' => Random.rand(100000),
41
+ 'creation_time'=> Time.now.strftime('%Y-%b-%dT%H:%M:%S'),
42
+ 'last_modified_time'=> Time.now.strftime('%Y-%b-%dT%H:%M:%S'),
43
+ 'service_id' => Random.rand(100000),
44
+ 'service_type' => config[:topology],
45
+ 'service_uri'=>"#{@region_url}/paas/service/dbcs/api/v1.1/instances/#{@identity_domain}/#{config[:serviceName]}",
46
+ }
47
+ .merge(config.select {|key, value| [:serviceName, :description, :level, :subscriptionType].include?(key) })
48
+ .merge(options.select {|key, value| [:shape, :version].include?(key) }).collect{|k,v| [k.to_s, v]}.to_h
49
+
50
+ self.data[:instances][config[:serviceName]] = data
51
+ self.data[:created_at][config[:serviceName]] = Time.now
52
+
53
+ server = {
54
+ "name": "#{data['serviceName'][0,8]}_server_1",
55
+ "shape": data['shape'],
56
+ "nodeType": "WLS",
57
+ "isAdmin": true,
58
+ "hostname": ip,
59
+ "status": "Ready",
60
+ "storageAllocated": 74752,
61
+ "creationDate": Time.now.strftime('%Y-%b-%dT%H:%M:%S')
62
+ }
63
+ self.data[:servers][data['serviceName']] = [server]
64
+
65
+ response.status = 202
66
+ response
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -1,35 +1,35 @@
1
- module Fog
2
- module OracleCloud
3
- class SOA
4
- class Real
5
-
6
- def delete_instance(service_name, dba_name, dba_password, options={})
7
- body_data = {
8
- 'dbaName' => dba_name,
9
- 'dbaPassword' => dba_password,
10
- 'forceDelete' => options[:force_delete],
11
- 'skipBackupOnTerminate' => options[:skip_backup]
12
- }
13
-
14
- body_data = body_data.reject {|key, value| value.nil?}
15
- request(
16
- :method => 'PUT',
17
- :expects => 202,
18
- :path => "/paas/service/soa/api/v1.1/instances/#{@identity_domain}/#{service_name}",
19
- :body => Fog::JSON.encode(body_data)
20
- )
21
- end
22
- end
23
-
24
- class Mock
25
- def delete_instance(name, dba_name, dba_password, options={})
26
- response = Excon::Response.new
27
- self.data[:instances][name]['status'] = 'Terminating'
28
- self.data[:deleted_at][name] = Time.now
29
- response.status = 204
30
- response
31
- end
32
- end
33
- end
34
- end
35
- end
1
+ module Fog
2
+ module OracleCloud
3
+ class SOA
4
+ class Real
5
+
6
+ def delete_instance(service_name, dba_name, dba_password, options={})
7
+ body_data = {
8
+ 'dbaName' => dba_name,
9
+ 'dbaPassword' => dba_password,
10
+ 'forceDelete' => options[:force_delete],
11
+ 'skipBackupOnTerminate' => options[:skip_backup]
12
+ }
13
+
14
+ body_data = body_data.reject {|key, value| value.nil?}
15
+ request(
16
+ :method => 'PUT',
17
+ :expects => 202,
18
+ :path => "/paas/service/soa/api/v1.1/instances/#{@identity_domain}/#{service_name}",
19
+ :body => Fog::JSON.encode(body_data)
20
+ )
21
+ end
22
+ end
23
+
24
+ class Mock
25
+ def delete_instance(name, dba_name, dba_password, options={})
26
+ response = Excon::Response.new
27
+ self.data[:instances][name]['status'] = 'Terminating'
28
+ self.data[:deleted_at][name] = Time.now
29
+ response.status = 204
30
+ response
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,43 +1,43 @@
1
- module Fog
2
- module OracleCloud
3
- class SOA
4
- class Real
5
-
6
- def get_instance(instance_id)
7
- response = request(
8
- :expects => 200,
9
- :method => 'GET',
10
- :path => "/paas/service/soa/api/v1.1/instances/#{@identity_domain}/#{instance_id}"
11
- )
12
- response
13
- end
14
- end
15
-
16
- class Mock
17
- def get_instance(name)
18
- response = Excon::Response.new
19
- if instance = self.data[:instances][name]
20
- case instance['status']
21
- when 'Terminating'
22
- if Time.now - self.data[:deleted_at][name] >= Fog::Mock.delay
23
- self.data[:deleted_at].delete(name)
24
- self.data[:instances].delete(name)
25
- end
26
- when 'In Progress'
27
- if Time.now - self.data[:created_at][name] >= Fog::Mock.delay
28
- self.data[:instances][name]['status'] = 'Running'
29
- instance = self.data[:instances][name]
30
- self.data[:created_at].delete(name)
31
- end
32
- end
33
- response.status = 200
34
- response.body = instance
35
- response
36
- else
37
- raise Fog::OracleCloud::SOA::NotFound.new("SOA #{name} does not exist");
38
- end
39
- end
40
- end
41
- end
42
- end
1
+ module Fog
2
+ module OracleCloud
3
+ class SOA
4
+ class Real
5
+
6
+ def get_instance(instance_id)
7
+ response = request(
8
+ :expects => 200,
9
+ :method => 'GET',
10
+ :path => "/paas/service/soa/api/v1.1/instances/#{@identity_domain}/#{instance_id}"
11
+ )
12
+ response
13
+ end
14
+ end
15
+
16
+ class Mock
17
+ def get_instance(name)
18
+ response = Excon::Response.new
19
+ if instance = self.data[:instances][name]
20
+ case instance['status']
21
+ when 'Terminating'
22
+ if Time.now - self.data[:deleted_at][name] >= Fog::Mock.delay
23
+ self.data[:deleted_at].delete(name)
24
+ self.data[:instances].delete(name)
25
+ end
26
+ when 'In Progress'
27
+ if Time.now - self.data[:created_at][name] >= Fog::Mock.delay
28
+ self.data[:instances][name]['status'] = 'Running'
29
+ instance = self.data[:instances][name]
30
+ self.data[:created_at].delete(name)
31
+ end
32
+ end
33
+ response.status = 200
34
+ response.body = instance
35
+ response
36
+ else
37
+ raise Fog::OracleCloud::SOA::NotFound.new("SOA #{name} does not exist");
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
43
  end