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,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