fog-oraclecloud 0.1.1

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.
Files changed (112) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +10 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +21 -0
  5. data/README.md +34 -0
  6. data/Rakefile +2 -0
  7. data/bin/console +14 -0
  8. data/bin/setup +8 -0
  9. data/fog-oracle.gemspec +30 -0
  10. data/lib/fog/oraclecloud/compute.rb +146 -0
  11. data/lib/fog/oraclecloud/database.rb +114 -0
  12. data/lib/fog/oraclecloud/java.rb +114 -0
  13. data/lib/fog/oraclecloud/models/compute/image.rb +43 -0
  14. data/lib/fog/oraclecloud/models/compute/image_list.rb +42 -0
  15. data/lib/fog/oraclecloud/models/compute/image_lists.rb +22 -0
  16. data/lib/fog/oraclecloud/models/compute/images.rb +22 -0
  17. data/lib/fog/oraclecloud/models/compute/instance.rb +65 -0
  18. data/lib/fog/oraclecloud/models/compute/instances.rb +22 -0
  19. data/lib/fog/oraclecloud/models/compute/object_plan.rb +16 -0
  20. data/lib/fog/oraclecloud/models/compute/object_plans.rb +12 -0
  21. data/lib/fog/oraclecloud/models/compute/orchestration.rb +89 -0
  22. data/lib/fog/oraclecloud/models/compute/orchestrations.rb +20 -0
  23. data/lib/fog/oraclecloud/models/compute/security_application.rb +42 -0
  24. data/lib/fog/oraclecloud/models/compute/security_applications.rb +22 -0
  25. data/lib/fog/oraclecloud/models/compute/security_list.rb +26 -0
  26. data/lib/fog/oraclecloud/models/compute/security_lists.rb +22 -0
  27. data/lib/fog/oraclecloud/models/compute/security_rule.rb +41 -0
  28. data/lib/fog/oraclecloud/models/compute/security_rules.rb +22 -0
  29. data/lib/fog/oraclecloud/models/compute/ssh_key.rb +37 -0
  30. data/lib/fog/oraclecloud/models/compute/ssh_keys.rb +22 -0
  31. data/lib/fog/oraclecloud/models/compute/volume.rb +47 -0
  32. data/lib/fog/oraclecloud/models/compute/volumes.rb +20 -0
  33. data/lib/fog/oraclecloud/models/database/instance.rb +84 -0
  34. data/lib/fog/oraclecloud/models/database/instances.rb +26 -0
  35. data/lib/fog/oraclecloud/models/java/instance.rb +107 -0
  36. data/lib/fog/oraclecloud/models/java/instances.rb +27 -0
  37. data/lib/fog/oraclecloud/models/java/server.rb +26 -0
  38. data/lib/fog/oraclecloud/models/java/servers.rb +17 -0
  39. data/lib/fog/oraclecloud/models/soa/instance.rb +65 -0
  40. data/lib/fog/oraclecloud/models/soa/instances.rb +25 -0
  41. data/lib/fog/oraclecloud/models/storage/container.rb +34 -0
  42. data/lib/fog/oraclecloud/models/storage/containers.rb +24 -0
  43. data/lib/fog/oraclecloud/models/storage/object.rb +27 -0
  44. data/lib/fog/oraclecloud/models/storage/objects.rb +27 -0
  45. data/lib/fog/oraclecloud/requests/compute/create_image.rb +30 -0
  46. data/lib/fog/oraclecloud/requests/compute/create_image_list.rb +27 -0
  47. data/lib/fog/oraclecloud/requests/compute/create_instance.rb +32 -0
  48. data/lib/fog/oraclecloud/requests/compute/create_orchestration.rb +46 -0
  49. data/lib/fog/oraclecloud/requests/compute/create_security_application.rb +28 -0
  50. data/lib/fog/oraclecloud/requests/compute/create_security_rule.rb +29 -0
  51. data/lib/fog/oraclecloud/requests/compute/create_ssh_key.rb +27 -0
  52. data/lib/fog/oraclecloud/requests/compute/create_volume.rb +29 -0
  53. data/lib/fog/oraclecloud/requests/compute/delete_image.rb +19 -0
  54. data/lib/fog/oraclecloud/requests/compute/delete_image_list.rb +19 -0
  55. data/lib/fog/oraclecloud/requests/compute/delete_instance.rb +22 -0
  56. data/lib/fog/oraclecloud/requests/compute/delete_orchestration.rb +22 -0
  57. data/lib/fog/oraclecloud/requests/compute/delete_security_application.rb +20 -0
  58. data/lib/fog/oraclecloud/requests/compute/delete_security_rule.rb +20 -0
  59. data/lib/fog/oraclecloud/requests/compute/delete_ssh_key.rb +22 -0
  60. data/lib/fog/oraclecloud/requests/compute/get_image.rb +21 -0
  61. data/lib/fog/oraclecloud/requests/compute/get_image_list.rb +21 -0
  62. data/lib/fog/oraclecloud/requests/compute/get_instance.rb +24 -0
  63. data/lib/fog/oraclecloud/requests/compute/get_orchestration.rb +24 -0
  64. data/lib/fog/oraclecloud/requests/compute/get_security_application.rb +20 -0
  65. data/lib/fog/oraclecloud/requests/compute/get_security_rule.rb +20 -0
  66. data/lib/fog/oraclecloud/requests/compute/get_ssh_key.rb +24 -0
  67. data/lib/fog/oraclecloud/requests/compute/list_image_lists.rb +16 -0
  68. data/lib/fog/oraclecloud/requests/compute/list_images.rb +16 -0
  69. data/lib/fog/oraclecloud/requests/compute/list_instances.rb +16 -0
  70. data/lib/fog/oraclecloud/requests/compute/list_orchestrations.rb +16 -0
  71. data/lib/fog/oraclecloud/requests/compute/list_security_applications.rb +21 -0
  72. data/lib/fog/oraclecloud/requests/compute/list_security_lists.rb +16 -0
  73. data/lib/fog/oraclecloud/requests/compute/list_security_rules.rb +21 -0
  74. data/lib/fog/oraclecloud/requests/compute/list_ssh_keys.rb +16 -0
  75. data/lib/fog/oraclecloud/requests/compute/list_volumes.rb +16 -0
  76. data/lib/fog/oraclecloud/requests/compute/start_orchestration.rb +22 -0
  77. data/lib/fog/oraclecloud/requests/compute/stop_orchestration.rb +22 -0
  78. data/lib/fog/oraclecloud/requests/compute/update_image.rb +27 -0
  79. data/lib/fog/oraclecloud/requests/compute/update_image_list.rb +27 -0
  80. data/lib/fog/oraclecloud/requests/compute/update_orchestration.rb +49 -0
  81. data/lib/fog/oraclecloud/requests/compute/update_ssh_key.rb +29 -0
  82. data/lib/fog/oraclecloud/requests/database/create_instance.rb +46 -0
  83. data/lib/fog/oraclecloud/requests/database/delete_instance.rb +31 -0
  84. data/lib/fog/oraclecloud/requests/database/get_instance.rb +36 -0
  85. data/lib/fog/oraclecloud/requests/database/list_instances.rb +16 -0
  86. data/lib/fog/oraclecloud/requests/java/create_instance.rb +51 -0
  87. data/lib/fog/oraclecloud/requests/java/delete_instance.rb +42 -0
  88. data/lib/fog/oraclecloud/requests/java/get_instance.rb +37 -0
  89. data/lib/fog/oraclecloud/requests/java/get_server.rb +0 -0
  90. data/lib/fog/oraclecloud/requests/java/list_instances.rb +16 -0
  91. data/lib/fog/oraclecloud/requests/java/list_servers.rb +29 -0
  92. data/lib/fog/oraclecloud/requests/soa/create_instance.rb +47 -0
  93. data/lib/fog/oraclecloud/requests/soa/delete_instance.rb +40 -0
  94. data/lib/fog/oraclecloud/requests/soa/get_instance.rb +36 -0
  95. data/lib/fog/oraclecloud/requests/soa/list_instances.rb +16 -0
  96. data/lib/fog/oraclecloud/requests/storage/create_container.rb +21 -0
  97. data/lib/fog/oraclecloud/requests/storage/delete_container.rb +15 -0
  98. data/lib/fog/oraclecloud/requests/storage/get_container.rb +24 -0
  99. data/lib/fog/oraclecloud/requests/storage/list_containers.rb +16 -0
  100. data/lib/fog/oraclecloud/soa.rb +80 -0
  101. data/lib/fog/oraclecloud/storage.rb +80 -0
  102. data/lib/fog/oraclecloud/version.rb +5 -0
  103. data/lib/fog/oraclecloud.rb +29 -0
  104. data/tests/helper.rb +1 -0
  105. data/tests/requests/database_tests.rb +52 -0
  106. data/tests/requests/instance_tests.rb +54 -0
  107. data/tests/requests/java_tests.rb +52 -0
  108. data/tests/requests/orchestrations_tests.rb +86 -0
  109. data/tests/requests/soa_tests.rb +52 -0
  110. data/tests/requests/ssh_keys_tests.rb +49 -0
  111. data/tests/requests/storage_tests.rb +54 -0
  112. metadata +253 -0
@@ -0,0 +1,22 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def delete_instance (name)
6
+ if !name.start_with?("/Compute-") then
7
+ # They haven't provided a well formed name, add their name in
8
+ name = "/Compute-#{@identity_domain}/#{@username}/#{name}"
9
+ end
10
+ request(
11
+ :method => 'DELETE',
12
+ :expects => 204,
13
+ :path => "/instance#{name}",
14
+ :headers => {
15
+ 'Content-Type' => 'application/oracle-compute-v3+json'
16
+ }
17
+ )
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def delete_orchestration (name)
6
+ if !name.start_with?("/Compute-") then
7
+ # They haven't provided a well formed name, add their name in
8
+ name = "/Compute-#{@identity_domain}/#{@username}/#{name}"
9
+ end
10
+ request(
11
+ :method => 'DELETE',
12
+ :expects => 204,
13
+ :path => "/orchestration#{name}",
14
+ :headers => {
15
+ 'Content-Type' => 'application/oracle-compute-v3+json'
16
+ }
17
+ )
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,20 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def delete_security_application(name)
6
+ # Just in case it's already set
7
+ name.sub! "/Compute-#{@identity_domain}/#{@username}/", ''
8
+ request(
9
+ :method => 'DELETE',
10
+ :expects => 204,
11
+ :path => "/secapplication/Compute-#{@identity_domain}/#{@username}/#{name}",
12
+ :headers => {
13
+ 'Content-Type' => 'application/oracle-compute-v3+json'
14
+ }
15
+ )
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def delete_security_rule(name)
6
+ # Just in case it's already set
7
+ name.sub! "/Compute-#{@identity_domain}/#{@username}/", ''
8
+ request(
9
+ :method => 'DELETE',
10
+ :expects => 204,
11
+ :path => "/secrule/Compute-#{@identity_domain}/#{@username}/#{name}",
12
+ :headers => {
13
+ 'Content-Type' => 'application/oracle-compute-v3+json'
14
+ }
15
+ )
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,22 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def delete_ssh_key (name)
6
+ if !name.start_with?("/Compute-") then
7
+ # They haven't provided a well formed name, add their name in
8
+ name = "/Compute-#{@identity_domain}/#{@username}/#{name}"
9
+ end
10
+ request(
11
+ :method => 'DELETE',
12
+ :expects => 204,
13
+ :path => "/sshkey#{name}",
14
+ :headers => {
15
+ 'Content-Type' => 'application/oracle-compute-v3+json'
16
+ }
17
+ )
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def get_image(name)
6
+ name.sub! "/Compute-#{@identity_domain}/#{@username}/", ''
7
+ response = request(
8
+ :expects => 200,
9
+ :method => 'GET',
10
+ :path => "/machineimage/Compute-#{@identity_domain}/#{@username}/#{name}",
11
+ :headers => {
12
+ 'Content-Type' => 'application/oracle-compute-v3+json',
13
+ 'Accept' => 'application/oracle-compute-v3+json'
14
+ }
15
+ )
16
+ response
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def get_image_list(name)
6
+ name.sub! "/Compute-#{@identity_domain}/#{@username}/", ''
7
+ response = request(
8
+ :expects => 200,
9
+ :method => 'GET',
10
+ :path => "/imagelist/Compute-#{@identity_domain}/#{@username}/#{name}",
11
+ :headers => {
12
+ 'Content-Type' => 'application/oracle-compute-v3+json',
13
+ 'Accept' => 'application/oracle-compute-v3+json'
14
+ }
15
+ )
16
+ response
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,24 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def get_instance(name)
6
+ if !name.start_with?("/Compute-") then
7
+ # They haven't provided a well formed name, add their name in
8
+ name = "/Compute-#{@identity_domain}/#{@username}/#{name}"
9
+ end
10
+ response = request(
11
+ :expects => 200,
12
+ :method => 'GET',
13
+ :path => "/instance#{name}",
14
+ :headers => {
15
+ 'Content-Type' => 'application/oracle-compute-v3+json',
16
+ 'Accept' => 'application/oracle-compute-v3+json'
17
+ }
18
+ )
19
+ response
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def get_orchestration(name)
6
+ if !name.start_with?("/Compute-") then
7
+ # They haven't provided a well formed name, add their name in
8
+ name = "/Compute-#{@identity_domain}/#{@username}/#{name}"
9
+ end
10
+ response = request(
11
+ :expects => 200,
12
+ :method => 'GET',
13
+ :path => "/orchestration#{name}",
14
+ :headers => {
15
+ 'Content-Type' => 'application/oracle-compute-v3+json',
16
+ 'Accept' => 'application/oracle-compute-v3+json'
17
+ }
18
+ )
19
+ response
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,20 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def get_security_application(name)
6
+ response = request(
7
+ :expects => 200,
8
+ :method => 'GET',
9
+ :path => "/secapplication/Compute-#{@identity_domain}/#{@username}/#{name}",
10
+ :headers => {
11
+ 'Content-Type' => 'application/oracle-compute-v3+json',
12
+ 'Accept' => 'application/oracle-compute-v3+json'
13
+ }
14
+ )
15
+ response
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,20 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def get_security_rule(name)
6
+ response = request(
7
+ :expects => 200,
8
+ :method => 'GET',
9
+ :path => "/secrule/Compute-#{@identity_domain}/#{@username}/#{name}",
10
+ :headers => {
11
+ 'Content-Type' => 'application/oracle-compute-v3+json',
12
+ 'Accept' => 'application/oracle-compute-v3+json'
13
+ }
14
+ )
15
+ response
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,24 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def get_ssh_key(name)
6
+ if !name.start_with?("/Compute-") then
7
+ # They haven't provided a well formed name, add their name in
8
+ name = "/Compute-#{@identity_domain}/#{@username}/#{name}"
9
+ end
10
+ response = request(
11
+ :expects => 200,
12
+ :method => 'GET',
13
+ :path => "/sshkey#{name}",
14
+ :headers => {
15
+ 'Content-Type' => 'application/oracle-compute-v3+json',
16
+ 'Accept' => 'application/oracle-compute-v3+json'
17
+ }
18
+ )
19
+ response
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def list_image_lists
6
+ response = request(
7
+ :expects => 200,
8
+ :method => 'GET',
9
+ :path => "/imagelist/Compute-#{@identity_domain}/#{@username}/"
10
+ )
11
+ response
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def list_images
6
+ response = request(
7
+ :expects => 200,
8
+ :method => 'GET',
9
+ :path => "/machineimage/Compute-#{@identity_domain}/#{@username}/"
10
+ )
11
+ response
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def list_instances
6
+ response = request(
7
+ :expects => 200,
8
+ :method => 'GET',
9
+ :path => "/instance/Compute-#{@identity_domain}/"
10
+ )
11
+ response
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def list_orchestrations
6
+ response = request(
7
+ :expects => 200,
8
+ :method => 'GET',
9
+ :path => "/orchestration/Compute-#{@identity_domain}/"
10
+ )
11
+ response
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def list_security_applications
6
+ response = request(
7
+ :expects => 200,
8
+ :method => 'GET',
9
+ :path => "/secapplication/Compute-#{@identity_domain}/#{@username}/"
10
+ )
11
+ response
12
+ end
13
+ end
14
+
15
+ class Mock
16
+ def list_security_applications
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def list_security_lists
6
+ response = request(
7
+ :expects => 200,
8
+ :method => 'GET',
9
+ :path => "/seclist/Compute-#{@identity_domain}/#{@username}/"
10
+ )
11
+ response
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,21 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def list_security_rules
6
+ response = request(
7
+ :expects => 200,
8
+ :method => 'GET',
9
+ :path => "/secrule/Compute-#{@identity_domain}/#{@username}/"
10
+ )
11
+ response
12
+ end
13
+ end
14
+
15
+ class Mock
16
+ def list_security_applications
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def list_ssh_keys
6
+ response = request(
7
+ :expects => 200,
8
+ :method => 'GET',
9
+ :path => "/sshkey/Compute-#{@identity_domain}/"
10
+ )
11
+ response
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def list_volumes
6
+ response = request(
7
+ :expects => 200,
8
+ :method => 'GET',
9
+ :path => "/storage/volume/Compute-#{@identity_domain}/#{@username}/"
10
+ )
11
+ response
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,22 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def start_orchestration (name)
6
+ if !name.start_with?("/Compute-") then
7
+ # They haven't provided a well formed name, add their name in
8
+ name = "/Compute-#{@identity_domain}/#{@username}/#{name}"
9
+ end
10
+ request(
11
+ :method => 'PUT',
12
+ :expects => 200,
13
+ :path => "/orchestration#{name}?action=start",
14
+ :headers => {
15
+ 'Content-Type' => 'application/oracle-compute-v3+json'
16
+ }
17
+ )
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def stop_orchestration (name)
6
+ if !name.start_with?("/Compute-") then
7
+ # They haven't provided a well formed name, add their name in
8
+ name = "/Compute-#{@identity_domain}/#{@username}/#{name}"
9
+ end
10
+ request(
11
+ :method => 'PUT',
12
+ :expects => 200,
13
+ :path => "/orchestration#{name}?action=stop",
14
+ :headers => {
15
+ 'Content-Type' => 'application/oracle-compute-v3+json'
16
+ }
17
+ )
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,27 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def update_image (name, options={})
6
+ # Just in case it's already set
7
+ name.sub! "/Compute-#{@identity_domain}/#{@username}/", ''
8
+ body_data = {
9
+ 'name' => "/Compute-#{@identity_domain}/#{@username}/#{name}",
10
+ 'description' => options[:description],
11
+ 'default' => options[:default]
12
+ }
13
+ body_data = body_data.reject {|key, value| value.nil?}
14
+ request(
15
+ :method => 'PUT',
16
+ :expects => 200,
17
+ :path => "/imagelist/Compute-#{@identity_domain}/#{@username}/#{name}",
18
+ :body => Fog::JSON.encode(body_data),
19
+ :headers => {
20
+ 'Content-Type' => 'application/oracle-compute-v3+json'
21
+ }
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,27 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def update_image_list (name, options={})
6
+ # Just in case it's already set
7
+ name.sub! "/Compute-#{@identity_domain}/#{@username}/", ''
8
+ body_data = {
9
+ 'name' => "/Compute-#{@identity_domain}/#{@username}/#{name}",
10
+ 'description' => options[:description],
11
+ 'default' => options[:default]
12
+ }
13
+ body_data = body_data.reject {|key, value| value.nil?}
14
+ request(
15
+ :method => 'PUT',
16
+ :expects => 200,
17
+ :path => "/imagelist/Compute-#{@identity_domain}/#{@username}/#{name}",
18
+ :body => Fog::JSON.encode(body_data),
19
+ :headers => {
20
+ 'Content-Type' => 'application/oracle-compute-v3+json'
21
+ }
22
+ )
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,49 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def update_orchestration (name, oplans, options={})
6
+
7
+ # Clean up names in case they haven't provided the fully resolved names
8
+ if !name.start_with?("/Compute-") then
9
+ # They haven't provided a well formed name, add their name in
10
+ name = "/Compute-#{@identity_domain}/#{@username}/#{name}"
11
+ end
12
+ oplans.map do |oplan|
13
+ oplan['objects'].map do |object|
14
+ if oplan['obj_type'] == 'launchplan' then
15
+ object['instances'].map do |instance|
16
+ if !instance['name'].start_with?("/Compute-") then
17
+ instance['name'] = "/Compute-#{@identity_domain}/#{@username}/#{instance['name']}"
18
+ end
19
+ end
20
+ else
21
+ if !object['name'].start_with?("/Compute-") then
22
+ object['name'] = "/Compute-#{@identity_domain}/#{@username}/#{object['name']}"
23
+ end
24
+ end
25
+ end
26
+ end
27
+ body_data = {
28
+ 'name' => name,
29
+ 'oplans' => oplans,
30
+ 'relationships' => options[:relationships],
31
+ 'description' => options[:description],
32
+ 'account' => options[:account],
33
+ 'schedule' => options[:schedule]
34
+ }
35
+ body_data = body_data.reject {|key, value| value.nil?}
36
+ request(
37
+ :method => 'PUT',
38
+ :expects => 200,
39
+ :path => "/orchestration#{name}",
40
+ :body => Fog::JSON.encode(body_data),
41
+ :headers => {
42
+ 'Content-Type' => 'application/oracle-compute-v3+json'
43
+ }
44
+ )
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,29 @@
1
+ module Fog
2
+ module Compute
3
+ class OracleCloud
4
+ class Real
5
+ def update_ssh_key (name, enabled, key)
6
+ if !name.start_with?("/Compute-") then
7
+ # They haven't provided a well formed name, add their name in
8
+ name = "/Compute-#{@identity_domain}/#{@username}/#{name}"
9
+ end
10
+ body_data = {
11
+ 'name' => name,
12
+ 'enabled' => enabled,
13
+ 'key' => key
14
+ }
15
+ body_data = body_data.reject {|key, value| value.nil?}
16
+ request(
17
+ :method => 'PUT',
18
+ :expects => 200,
19
+ :path => "/sshkey#{name}",
20
+ :body => Fog::JSON.encode(body_data),
21
+ :headers => {
22
+ 'Content-Type' => 'application/oracle-compute-v3+json'
23
+ }
24
+ )
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,46 @@
1
+ module Fog
2
+ module OracleCloud
3
+ class Database
4
+ class Real
5
+
6
+ def create_instance(service_name, edition, vmPublicKey, parameters, options={})
7
+ body_data = {
8
+ 'serviceName' => service_name,
9
+ 'version' => options[:version],
10
+ 'level' => options[:level],
11
+ 'edition' => edition,
12
+ 'subscriptionType' => options[:subscriptionType],
13
+ 'description' => options[:description],
14
+ 'shape' => options[:shape],
15
+ 'vmPublicKeyText' => vmPublicKey,
16
+ 'parameters' => parameters
17
+ }
18
+ body_data = body_data.reject {|key, value| value.nil?}
19
+
20
+ request(
21
+ :method => 'POST',
22
+ :expects => 202,
23
+ :path => "/paas/service/dbcs/api/v1.1/instances/#{@identity_domain}",
24
+ :body => Fog::JSON.encode(body_data),
25
+ #:headers => {
26
+ # 'Content-Type'=>'application/vnd.com.oracle.oracloud.provisioning.Service+json'
27
+ #}
28
+ )
29
+ end
30
+
31
+ end
32
+
33
+ class Mock
34
+ def create_instance(service_name, edition, vmPublicKey, parameters, options={})
35
+ response = Excon::Response.new
36
+
37
+ instance = Fog::OracleCloud::Mock.create_database_instance(service_name)
38
+ self.data[:instances][service_name] = instance
39
+
40
+ response.status = 202
41
+ response
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end