fog-oraclecloud 0.1.12 → 0.1.13

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 (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,27 +1,27 @@
1
- module Fog
2
- module OracleCloud
3
- class Database
4
- class Real
5
- def list_servers(db_name)
6
- response = request(
7
- :expects => 200,
8
- :method => 'GET',
9
- :path => "/paas/service/dbcs/api/v1.1/instances/#{@identity_domain}/#{db_name}/servers"
10
- )
11
- response
12
- end
13
- end
14
-
15
- class Mock
16
- def list_servers(db_name)
17
- response = Excon::Response.new
18
-
19
- servers = self.data[:servers][db_name]
20
-
21
- response.body = servers
22
- response
23
- end
24
- end
25
- end
26
- end
27
- end
1
+ module Fog
2
+ module OracleCloud
3
+ class Database
4
+ class Real
5
+ def list_servers(db_name)
6
+ response = request(
7
+ :expects => 200,
8
+ :method => 'GET',
9
+ :path => "/paas/service/dbcs/api/v1.1/instances/#{@identity_domain}/#{db_name}/servers"
10
+ )
11
+ response
12
+ end
13
+ end
14
+
15
+ class Mock
16
+ def list_servers(db_name)
17
+ response = Excon::Response.new
18
+
19
+ servers = self.data[:servers][db_name]
20
+
21
+ response.body = servers
22
+ response
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,27 +1,27 @@
1
- module Fog
2
- module OracleCloud
3
- class Database
4
- class Real
5
- def list_snapshots(db_name)
6
- response = request(
7
- :expects => 200,
8
- :method => 'GET',
9
- :path => "/paas/api/v1.1/instancemgmt/#{@identity_domain}/services/dbaas/instances/#{db_name}/snapshots"
10
- )
11
- response
12
- end
13
- end
14
-
15
- class Mock
16
- def list_snapshots(db_name)
17
- response = Excon::Response.new
18
-
19
- snapshots = self.data[:snapshots][db_name].values
20
-
21
- response.body = snapshots
22
- response
23
- end
24
- end
25
- end
26
- end
27
- end
1
+ module Fog
2
+ module OracleCloud
3
+ class Database
4
+ class Real
5
+ def list_snapshots(db_name)
6
+ response = request(
7
+ :expects => 200,
8
+ :method => 'GET',
9
+ :path => "/paas/api/v1.1/instancemgmt/#{@identity_domain}/services/dbaas/instances/#{db_name}/snapshots"
10
+ )
11
+ response
12
+ end
13
+ end
14
+
15
+ class Mock
16
+ def list_snapshots(db_name)
17
+ response = Excon::Response.new
18
+
19
+ snapshots = self.data[:snapshots][db_name].values
20
+
21
+ response.body = snapshots
22
+ response
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -1,83 +1,83 @@
1
- module Fog
2
- module OracleCloud
3
- class Database
4
- class Real
5
-
6
- def recover_instance(service_name, type=nil, value=nil)
7
- if type == 'latest' then body_data = { 'latest' => true } end
8
- if type == 'tag' then body_data = { 'tag' => value } end
9
- if type == 'timestamp' then body_data = { 'timestamp' => value } end
10
- if type == 'scn' then body_data = { 'scn' => value } end
11
-
12
- response = request(
13
- :method => 'POST',
14
- :expects => 202,
15
- :path => "/paas/service/dbcs/api/v1.1/instances/#{@identity_domain}/#{service_name}/backups/recovery",
16
- :body => Fog::JSON.encode(body_data),
17
- )
18
- response.database_id = service_name
19
- response
20
- end
21
- end
22
-
23
- class Mock
24
- def recover_instance(service_name, type=nil, value=nil)
25
- response = Excon::Response.new
26
-
27
- if !self.data[:recoveries][service_name].is_a? Array then
28
- self.data[:recoveries][service_name] = []
29
- end
30
-
31
- if !self.data[:created_at][:recoveries]
32
- self.data[:created_at][:recoveries] = {}
33
- self.data[:created_at][:recoveries][service_name] = []
34
- end
35
-
36
- # Find the backup first
37
- backups = self.data[:backups][service_name]
38
- backup = nil
39
- if type == 'tag' then
40
- backup = backups.find { |b| b['dbTag'] = value }
41
- elsif type == 'timestamp' then
42
- # Too hard to do this logic in mock. Just return the latest
43
- backup = backups.last
44
- elsif type.nil? then
45
- # Default to searching for the latest
46
- backup = backups.last
47
- end
48
- if backup.nil? then
49
- response.status = 500
50
- else
51
- if type == 'tag' then
52
- self.data[:recoveries][service_name].push({
53
- 'recoveryStartDate'=>Time.now.strftime('%d-%b-%Y %H:%M:%S UTC'),
54
- 'status'=>'IN PROGRESS',
55
- 'dbTag'=>value,
56
- 'database_id' => service_name
57
- })
58
- self.data[:created_at][:recoveries][service_name].push(Time.now)
59
- elsif type == 'timestamp' then
60
- self.data[:recoveries][service_name].push({
61
- 'recoveryStartDate'=>Time.now.strftime('%d-%b-%Y %H:%M:%S UTC'),
62
- 'status'=>'IN PROGRESS',
63
- 'timestamp'=>value.strftime('%d-%b-%Y %H:%M:%S'),
64
- 'database_id' => service_name
65
- })
66
- self.data[:created_at][:recoveries][service_name].push(Time.now)
67
- elsif type.nil? then
68
- self.data[:recoveries][service_name].push({
69
- 'recoveryStartDate'=>Time.now.strftime('%d-%b-%Y %H:%M:%S UTC'),
70
- 'status'=>'IN PROGRESS',
71
- 'latest'=>true,
72
- 'database_id' => service_name
73
- })
74
- self.data[:created_at][:recoveries][service_name].push(Time.now)
75
- end
76
- response.status = 202
77
- end
78
- response
79
- end
80
- end
81
- end
82
- end
83
- end
1
+ module Fog
2
+ module OracleCloud
3
+ class Database
4
+ class Real
5
+
6
+ def recover_instance(service_name, type=nil, value=nil)
7
+ if type == 'latest' then body_data = { 'latest' => true } end
8
+ if type == 'tag' then body_data = { 'tag' => value } end
9
+ if type == 'timestamp' then body_data = { 'timestamp' => value } end
10
+ if type == 'scn' then body_data = { 'scn' => value } end
11
+
12
+ response = request(
13
+ :method => 'POST',
14
+ :expects => 202,
15
+ :path => "/paas/service/dbcs/api/v1.1/instances/#{@identity_domain}/#{service_name}/backups/recovery",
16
+ :body => Fog::JSON.encode(body_data),
17
+ )
18
+ response.database_id = service_name
19
+ response
20
+ end
21
+ end
22
+
23
+ class Mock
24
+ def recover_instance(service_name, type=nil, value=nil)
25
+ response = Excon::Response.new
26
+
27
+ if !self.data[:recoveries][service_name].is_a? Array then
28
+ self.data[:recoveries][service_name] = []
29
+ end
30
+
31
+ if !self.data[:created_at][:recoveries]
32
+ self.data[:created_at][:recoveries] = {}
33
+ self.data[:created_at][:recoveries][service_name] = []
34
+ end
35
+
36
+ # Find the backup first
37
+ backups = self.data[:backups][service_name]
38
+ backup = nil
39
+ if type == 'tag' then
40
+ backup = backups.find { |b| b['dbTag'] = value }
41
+ elsif type == 'timestamp' then
42
+ # Too hard to do this logic in mock. Just return the latest
43
+ backup = backups.last
44
+ elsif type.nil? then
45
+ # Default to searching for the latest
46
+ backup = backups.last
47
+ end
48
+ if backup.nil? then
49
+ response.status = 500
50
+ else
51
+ if type == 'tag' then
52
+ self.data[:recoveries][service_name].push({
53
+ 'recoveryStartDate'=>Time.now.strftime('%d-%b-%Y %H:%M:%S UTC'),
54
+ 'status'=>'IN PROGRESS',
55
+ 'dbTag'=>value,
56
+ 'database_id' => service_name
57
+ })
58
+ self.data[:created_at][:recoveries][service_name].push(Time.now)
59
+ elsif type == 'timestamp' then
60
+ self.data[:recoveries][service_name].push({
61
+ 'recoveryStartDate'=>Time.now.strftime('%d-%b-%Y %H:%M:%S UTC'),
62
+ 'status'=>'IN PROGRESS',
63
+ 'timestamp'=>value.strftime('%d-%b-%Y %H:%M:%S'),
64
+ 'database_id' => service_name
65
+ })
66
+ self.data[:created_at][:recoveries][service_name].push(Time.now)
67
+ elsif type.nil? then
68
+ self.data[:recoveries][service_name].push({
69
+ 'recoveryStartDate'=>Time.now.strftime('%d-%b-%Y %H:%M:%S UTC'),
70
+ 'status'=>'IN PROGRESS',
71
+ 'latest'=>true,
72
+ 'database_id' => service_name
73
+ })
74
+ self.data[:created_at][:recoveries][service_name].push(Time.now)
75
+ end
76
+ response.status = 202
77
+ end
78
+ response
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -1,40 +1,40 @@
1
- module Fog
2
- module OracleCloud
3
- class Database
4
- class Real
5
-
6
- def scale_instance(name, options={})
7
- body_data = {
8
- 'shape' => options[:shape],
9
- 'additionalStorage' => options[:additional_storage],
10
- 'usage' => options[:usage]
11
- }
12
- body_data = body_data.reject {|key, value| value.nil?}
13
-
14
- request(
15
- :method => 'PUT',
16
- :expects => 202,
17
- :path => "/paas/service/dbcs/api/v1.1/instances/#{@identity_domain}/#{name}",
18
- :body => Fog::JSON.encode(body_data),
19
- )
20
- end
21
- end
22
-
23
- class Mock
24
- def scale_instance(name, options={})
25
- response = Excon::Response.new
26
-
27
- self.data[:instances][name]['status'] = 'Maintenance'
28
- info = { 'time'=> Time.now }
29
- if (options[:shape]) then
30
- info['attribute'] = 'shape'
31
- info['value'] = options[:shape]
32
- end
33
- self.data[:maintenance_at][name] = info
34
- response.status = 202
35
- response
36
- end
37
- end
38
- end
39
- end
40
- end
1
+ module Fog
2
+ module OracleCloud
3
+ class Database
4
+ class Real
5
+
6
+ def scale_instance(name, options={})
7
+ body_data = {
8
+ 'shape' => options[:shape],
9
+ 'additionalStorage' => options[:additional_storage],
10
+ 'usage' => options[:usage]
11
+ }
12
+ body_data = body_data.reject {|key, value| value.nil?}
13
+
14
+ request(
15
+ :method => 'PUT',
16
+ :expects => 202,
17
+ :path => "/paas/service/dbcs/api/v1.1/instances/#{@identity_domain}/#{name}",
18
+ :body => Fog::JSON.encode(body_data),
19
+ )
20
+ end
21
+ end
22
+
23
+ class Mock
24
+ def scale_instance(name, options={})
25
+ response = Excon::Response.new
26
+
27
+ self.data[:instances][name]['status'] = 'Maintenance'
28
+ info = { 'time'=> Time.now }
29
+ if (options[:shape]) then
30
+ info['attribute'] = 'shape'
31
+ info['value'] = options[:shape]
32
+ end
33
+ self.data[:maintenance_at][name] = info
34
+ response.status = 202
35
+ response
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -1,87 +1,156 @@
1
- module Fog
2
- module OracleCloud
3
- class Java
4
- class Real
5
-
6
- def create_instance(config, options)
7
-
8
- if !config[:cloudStorageContainer].start_with?("/Storage-")
9
- config[:cloudStorageContainer] = "/Storage-#{@identity_domain}/#{config[:cloudStorageContainer]}"
10
- end
11
-
12
- config[: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].include?(key)}
13
- config[:parameters].reject! { |key,value| value.nil?}
14
- config.reject! { |key,value| value.nil?}
15
- # Currently only support weblogic
16
- config[:parameters][:type] = "weblogic"
17
-
18
- body_data = config
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
- end
31
- class Mock
32
- def create_instance(config, options)
33
- response = Excon::Response.new
34
-
35
- ip = '192.168.1.1'
36
- data = {
37
- 'status' => 'In Progress',
38
- 'compute_site_name' => 'EM002_Z11',
39
- 'content_url' => "http://#{ip}",
40
- 'created_by' => @username,
41
- 'creation_job_id' => Random.rand(100000),
42
- 'creation_time'=> Time.now.strftime('%Y-%b-%dT%H:%M:%S'),
43
- 'db_info' => "#{options[:dbServiceName]}:1521/#{options[:pdbName] || 'PDB1'}.#{@identity_domain}.oraclecloud.internal",
44
- 'deletion_job_id' => 0,
45
- 'domainMode'=>'DEVELOPMENT',
46
- 'fmw_control_url'=> "https://#{ip}:#{options[:adminPort] || 7002}/em",
47
- 'last_modified_time'=> Time.now.strftime('%Y-%b-%dT%H:%M:%S'),
48
- 'num_ip_reservations'=> 2, # Can't rely on this number in mocking mode
49
- 'num_nodes'=>options[:managedServerCount],
50
- 'otd_provisioned'=>options[:provisionOTD] || 'no',
51
- 'psm_plugin_version'=>"16.3.5-532",
52
- 'secure_content_url' => "https://#{ip}",
53
- 'service_type'=>'jaas',
54
- 'service_uri'=>"#{@region_url}/paas/service/dbcs/api/v1.1/instances/#{@identity_domain}/#{config[:serviceName]}",
55
- 'wls_admin_url'=> "https://#{ip}:#{options[:adminPort] || 7002}/console",
56
- 'wls_deployment_channel_port' => options[:deploymentChannelPort] || 9001,
57
- 'wlsVersion'=>'12.2.1.0.160419'
58
- }
59
- .merge(config.select {|key, value| [:serviceName, :description, :level, :subscriptionType].include?(key) })
60
- .merge(options.select {|key, value| [:clusterName, :dbServiceName, :edition, :shape, :version].include?(key) }).collect{|k,v| [k.to_s, v]}.to_h
61
-
62
- if data['clusterName'].nil? then data['clusterName'] = data['serviceName'][0,8] + "_cluster" end
63
- if data['domainName'].nil? then data['domainName'] = data['serviceName'][0,8] + "_domain" end
64
- self.data[:instances][config[:serviceName]] = data
65
- self.data[:created_at][config[:serviceName]] = Time.now
66
-
67
- server = {
68
- "clusterName": data['clusterName'] || data['serviceName'][0,8] + "_cluster",
69
- "name": "#{data['serviceName'][0,8]}_server_1",
70
- "shape": data['shape'],
71
- "nodeType": "WLS",
72
- "isAdmin": true,
73
- "hostname": ip,
74
- "status": "Ready",
75
- "storageAllocated": 74752,
76
- "creationDate": Time.now.strftime('%Y-%b-%dT%H:%M:%S')
77
- }
78
- self.data[:servers][data['serviceName']] = {}
79
- self.data[:servers][data['serviceName']][server[:name]] = server
80
-
81
- response.status = 202
82
- response
83
- end
84
- end
85
- end
86
- end
87
- end
1
+ module Fog
2
+ module OracleCloud
3
+ class Java
4
+ class Real
5
+
6
+ def create_instance(config, options)
7
+
8
+ if !config[:cloudStorageContainer].start_with?("/Storage-")
9
+ config[:cloudStorageContainer] = "/Storage-#{@identity_domain}/#{config[:cloudStorageContainer]}"
10
+ end
11
+
12
+ config[: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].include?(key)}
13
+ config[:parameters].reject! { |key,value| value.nil?}
14
+ config.reject! { |key,value| value.nil?}
15
+ # Currently only support weblogic
16
+ config[:parameters][:type] = "weblogic"
17
+
18
+ body_data = config
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
+ end
31
+ class Mock
32
+ def create_instance(config, options)
33
+ response = Excon::Response.new
34
+
35
+ ip = '192.168.1.1'
36
+ data = {
37
+ 'status' => 'In Progress',
38
+ 'compute_site_name' => 'EM002_Z11',
39
+ 'content_url' => "http://#{ip}",
40
+ 'created_by' => @username,
41
+ 'creation_job_id' => Random.rand(100000),
42
+ 'creation_time'=> Time.now.strftime('%Y-%b-%dT%H:%M:%S'),
43
+ 'db_info' => "#{options[:dbServiceName]}:1521/#{options[:pdbName] || 'PDB1'}.#{@identity_domain}.oraclecloud.internal",
44
+ 'deletion_job_id' => 0,
45
+ 'domainMode'=>'DEVELOPMENT',
46
+ 'fmw_control_url'=> "https://#{ip}:#{options[:adminPort] || 7002}/em",
47
+ 'last_modified_time'=> Time.now.strftime('%Y-%b-%dT%H:%M:%S'),
48
+ 'num_ip_reservations'=> 2, # Can't rely on this number in mocking mode
49
+ 'num_nodes'=>options[:managedServerCount],
50
+ 'otd_provisioned'=>options[:provisionOTD] || 'no',
51
+ 'psm_plugin_version'=>"16.3.5-532",
52
+ 'secure_content_url' => "https://#{ip}",
53
+ 'service_type'=>'jaas',
54
+ 'service_uri'=>"#{@region_url}/paas/service/dbcs/api/v1.1/instances/#{@identity_domain}/#{config[:serviceName]}",
55
+ 'wls_admin_url'=> "https://#{ip}:#{options[:adminPort] || 7002}/console",
56
+ 'wls_deployment_channel_port' => options[:deploymentChannelPort] || 9001,
57
+ 'wlsVersion'=>'12.2.1.0.160419'
58
+ }
59
+ .merge(config.select {|key, value| [:serviceName, :description, :level, :subscriptionType].include?(key) })
60
+ .merge(options.select {|key, value| [:clusterName, :dbServiceName, :edition, :shape, :version].include?(key) }).collect{|k,v| [k.to_s, v]}.to_h
61
+
62
+ if data['clusterName'].nil? then data['clusterName'] = data['serviceName'][0,8] + "_cluster" end
63
+ if data['domainName'].nil? then data['domainName'] = data['serviceName'][0,8] + "_domain" end
64
+ self.data[:instances][config[:serviceName]] = data
65
+ self.data[:created_at][config[:serviceName]] = Time.now
66
+
67
+ server = {
68
+ "clusterName": data['clusterName'] || data['serviceName'][0,8] + "_cluster",
69
+ "name": "#{data['serviceName'][0,8]}_server_1",
70
+ "shape": data['shape'],
71
+ "nodeType": "WLS",
72
+ "isAdmin": true,
73
+ "hostname": ip,
74
+ "status": "Ready",
75
+ "storageAllocated": 74752,
76
+ "creationDate": Time.now.strftime('%Y-%b-%dT%H:%M:%S')
77
+ }
78
+ self.data[:servers][data['serviceName']] = {}
79
+ self.data[:servers][data['serviceName']][server[:name]] = server
80
+
81
+
82
+ # Add default access rules
83
+ access_rules = [{
84
+ "ruleName" => "sys_ms2db_dblistener",
85
+ "description"=> "DO NOT MODIFY=> Permit listener connection to database from managed servers",
86
+ "status"=> "enabled",
87
+ "source"=> "WLS_MANAGED_SERVER",
88
+ "destination"=> "dbaas=>nbnws=>DB",
89
+ "ports"=> "1521",
90
+ "protocol"=> "tcp",
91
+ "ruleType"=> "SYSTEM"
92
+ },{
93
+ "ruleName"=> "sys_ms2db_ssh",
94
+ "description"=> "DO NOT MODIFY=> Permit managed servers to ssh to db",
95
+ "status"=> "enabled",
96
+ "source"=> "WLS_MANAGED_SERVER",
97
+ "destination"=> "dbaas=>nbnws=>DB",
98
+ "port"=> "22",
99
+ "portocol"=> "tcp",
100
+ "ruleType"=> "SYSTEM"
101
+ },{
102
+ "ruleName"=> "ora_p2admin_ssh",
103
+ "description"=> "DO NOT MODIFY=> Permit public ssh to admin server",
104
+ "status"=> "enabled",
105
+ "source"=> "PUBLIC-INTERNET",
106
+ "destination"=> "WLS_ADMIN_SERVER",
107
+ "port"=> "22",
108
+ "portocol"=> "tcp",
109
+ "ruleType"=> "DEFAULT"
110
+ },{
111
+ "ruleName"=> "ora_p2admin_ahttps",
112
+ "description"=> "DO NOT MODIFY=> Permit public to https to admin server",
113
+ "status"=> "enabled",
114
+ "source"=> "PUBLIC-INTERNET",
115
+ "destination"=> "WLS_ADMIN_SERVER",
116
+ "port"=> "7002",
117
+ "portocol"=> "tcp",
118
+ "ruleType"=> "DEFAULT"
119
+ },{
120
+ "ruleName"=> "sys_infra2admin_ssh",
121
+ "description"=> "DO NOT MODIFY=> Permit PSM to ssh to admin server",
122
+ "status"=> "enabled",
123
+ "source"=> "PAAS-INFRA",
124
+ "destination"=> "WLS_ADMIN_SERVER",
125
+ "port"=> "22",
126
+ "portocol"=> "tcp",
127
+ "ruleType"=> "DEFAULT"
128
+ },{
129
+ "ruleName"=> "ora_p2ms_chttp",
130
+ "description"=> "Permit http connection to managed servers from public",
131
+ "status"=> "enabled",
132
+ "source"=> "PUBLIC-INTERNET",
133
+ "destination"=> "WLS_ADMIN_SERVER",
134
+ "port"=> "80",
135
+ "portocol"=> "tcp",
136
+ "ruleType"=> "DEFAULT"
137
+ },{
138
+ "ruleName"=> "ora_p2ms_chttps",
139
+ "description"=> "Permit https connection to managed servers from public",
140
+ "status"=> "enabled",
141
+ "source"=> "PUBLIC-INTERNET",
142
+ "destination"=> "WLS_MANAGED_SERVER",
143
+ "port"=> "443",
144
+ "portocol"=> "tcp",
145
+ "ruleType"=> "DEFAULT"
146
+ }]
147
+
148
+ self.data[:access_rules][data['serviceName']] = access_rules
149
+
150
+ response.status = 202
151
+ response
152
+ end
153
+ end
154
+ end
155
+ end
156
+ end