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,129 +1,129 @@
1
- module Fog
2
- module OracleCloud
3
- class Database < Fog::Service
4
- requires :oracle_username, :oracle_password, :oracle_domain
5
- recognizes :oracle_region
6
-
7
- model_path 'fog/oraclecloud/models/database'
8
- model :instance
9
- collection :instances
10
- model :backup
11
- collection :backups
12
- model :recovery
13
- collection :recoveries
14
- model :snapshot
15
- collection :snapshots
16
- model :server
17
- collection :servers
18
- model :patch
19
- collection :patches
20
-
21
- request_path 'fog/oraclecloud/requests/database'
22
- request :list_instances
23
- request :get_instance
24
- request :get_instance_from_job
25
- request :create_instance
26
- request :delete_instance
27
- request :list_backups
28
- request :list_recoveries
29
- request :list_snapshots
30
- request :get_snapshot
31
- request :create_snapshot
32
- request :delete_snapshot
33
- request :list_servers
34
- request :scale_instance
35
- request :backup_instance
36
- request :recover_instance
37
- request :list_patches
38
-
39
- class Real
40
-
41
- def initialize(options={})
42
- @username = options[:oracle_username]
43
- @password = options[:oracle_password]
44
- @identity_domain = options[:oracle_domain]
45
- region_url = options[:oracle_region] == 'emea' ? 'https://dbcs.emea.oraclecloud.com' : 'https://dbaas.oraclecloud.com'
46
- Excon.ssl_verify_peer = false
47
-
48
- @connection = Fog::XML::Connection.new(region_url)
49
- end
50
-
51
- def username
52
- @username
53
- end
54
-
55
- def password
56
- @password
57
- end
58
-
59
- def auth_header
60
- auth_header ||= 'Basic ' + Base64.encode64("#{@username}:#{@password}").gsub("\n",'')
61
- end
62
-
63
- def request(params, parse_json = true, &block)
64
- begin
65
- response = @connection.request(params.merge!({
66
- :headers => {
67
- 'Authorization' => auth_header,
68
- 'X-ID-TENANT-NAME' => @identity_domain,
69
- 'Content-Type' => 'application/json',
70
- #'Accept' => 'application/json'
71
- }.merge!(params[:headers] || {})
72
- }), &block)
73
- rescue Excon::Errors::HTTPStatusError => error
74
- raise case error
75
- when Excon::Errors::NotFound
76
- Fog::OracleCloud::Database::NotFound.slurp(error)
77
- else
78
- error
79
- end
80
- end
81
- #https://jaas.oraclecloud.com/paas/service/jcs/api/v1.1/instances/agriculture/status/create/job/2781084
82
- if !response.body.empty? && parse_json
83
- # The Oracle Cloud doesn't return the Content-Type header as application/json, rather as application/vnd.com.oracle.oracloud.provisioning.Pod+json
84
- # Should add check here to validate, but not sure if this might change in future
85
- response.body = Fog::JSON.decode(response.body)
86
- end
87
- response
88
- end
89
- end
90
-
91
- class Mock
92
- def initialize(options={})
93
- @username = options[:oracle_username]
94
- @password = options[:oracle_password]
95
- @identity_domain = options[:oracle_domain]
96
- end
97
-
98
- def username
99
- @username
100
- end
101
-
102
- def password
103
- @password
104
- end
105
-
106
- def self.data
107
- @data ||= {
108
- :instances => {},
109
- :snapshots => {},
110
- :servers => {},
111
- :backups => {},
112
- :recoveries => {},
113
- :deleted_at => {},
114
- :created_at => {},
115
- :maintenance_at => {}
116
- }
117
- end
118
-
119
- def self.reset
120
- @data = nil
121
- end
122
-
123
- def data
124
- self.class.data
125
- end
126
- end
127
- end
128
- end
129
- end
1
+ module Fog
2
+ module OracleCloud
3
+ class Database < Fog::Service
4
+ requires :oracle_username, :oracle_password, :oracle_domain
5
+ recognizes :oracle_region
6
+
7
+ model_path 'fog/oraclecloud/models/database'
8
+ model :instance
9
+ collection :instances
10
+ model :backup
11
+ collection :backups
12
+ model :recovery
13
+ collection :recoveries
14
+ model :snapshot
15
+ collection :snapshots
16
+ model :server
17
+ collection :servers
18
+ model :patch
19
+ collection :patches
20
+
21
+ request_path 'fog/oraclecloud/requests/database'
22
+ request :list_instances
23
+ request :get_instance
24
+ request :get_instance_from_job
25
+ request :create_instance
26
+ request :delete_instance
27
+ request :list_backups
28
+ request :list_recoveries
29
+ request :list_snapshots
30
+ request :get_snapshot
31
+ request :create_snapshot
32
+ request :delete_snapshot
33
+ request :list_servers
34
+ request :scale_instance
35
+ request :backup_instance
36
+ request :recover_instance
37
+ request :list_patches
38
+
39
+ class Real
40
+
41
+ def initialize(options={})
42
+ @username = options[:oracle_username]
43
+ @password = options[:oracle_password]
44
+ @identity_domain = options[:oracle_domain]
45
+ region_url = options[:oracle_region] == 'emea' ? 'https://dbcs.emea.oraclecloud.com' : 'https://dbaas.oraclecloud.com'
46
+ Excon.ssl_verify_peer = false
47
+
48
+ @connection = Fog::XML::Connection.new(region_url)
49
+ end
50
+
51
+ def username
52
+ @username
53
+ end
54
+
55
+ def password
56
+ @password
57
+ end
58
+
59
+ def auth_header
60
+ auth_header ||= 'Basic ' + Base64.encode64("#{@username}:#{@password}").gsub("\n",'')
61
+ end
62
+
63
+ def request(params, parse_json = true, &block)
64
+ begin
65
+ response = @connection.request(params.merge!({
66
+ :headers => {
67
+ 'Authorization' => auth_header,
68
+ 'X-ID-TENANT-NAME' => @identity_domain,
69
+ 'Content-Type' => 'application/json',
70
+ #'Accept' => 'application/json'
71
+ }.merge!(params[:headers] || {})
72
+ }), &block)
73
+ rescue Excon::Errors::HTTPStatusError => error
74
+ raise case error
75
+ when Excon::Errors::NotFound
76
+ Fog::OracleCloud::Database::NotFound.slurp(error)
77
+ else
78
+ error
79
+ end
80
+ end
81
+ #https://jaas.oraclecloud.com/paas/service/jcs/api/v1.1/instances/agriculture/status/create/job/2781084
82
+ if !response.body.empty? && parse_json
83
+ # The Oracle Cloud doesn't return the Content-Type header as application/json, rather as application/vnd.com.oracle.oracloud.provisioning.Pod+json
84
+ # Should add check here to validate, but not sure if this might change in future
85
+ response.body = Fog::JSON.decode(response.body)
86
+ end
87
+ response
88
+ end
89
+ end
90
+
91
+ class Mock
92
+ def initialize(options={})
93
+ @username = options[:oracle_username]
94
+ @password = options[:oracle_password]
95
+ @identity_domain = options[:oracle_domain]
96
+ end
97
+
98
+ def username
99
+ @username
100
+ end
101
+
102
+ def password
103
+ @password
104
+ end
105
+
106
+ def self.data
107
+ @data ||= {
108
+ :instances => {},
109
+ :snapshots => {},
110
+ :servers => {},
111
+ :backups => {},
112
+ :recoveries => {},
113
+ :deleted_at => {},
114
+ :created_at => {},
115
+ :maintenance_at => {}
116
+ }
117
+ end
118
+
119
+ def self.reset
120
+ @data = nil
121
+ end
122
+
123
+ def data
124
+ self.class.data
125
+ end
126
+ end
127
+ end
128
+ end
129
+ end
@@ -1,115 +1,123 @@
1
- module Fog
2
- module OracleCloud
3
- class Java < Fog::Service
4
- requires :oracle_username, :oracle_password, :oracle_domain
5
- recognizes :oracle_region
6
-
7
- model_path 'fog/oraclecloud/models/java'
8
- model :instance
9
- collection :instances
10
- model :server
11
- collection :servers
12
-
13
- request_path 'fog/oraclecloud/requests/java'
14
- request :list_instances
15
- request :create_instance
16
- request :get_instance
17
- request :delete_instance
18
- request :list_servers
19
- request :get_server
20
- request :scale_out_a_cluster
21
- request :scale_in_a_cluster
22
- request :scale_a_node
23
-
24
- class Real
25
-
26
- def initialize(options={})
27
- @username = options[:oracle_username]
28
- @password = options[:oracle_password]
29
- @identity_domain = options[:oracle_domain]
30
- region_url = options[:oracle_region] == 'emea' ? 'https://jcs.emea.oraclecloud.com' : 'https://jaas.oraclecloud.com'
31
- Excon.ssl_verify_peer = false
32
- @connection = Fog::XML::Connection.new(region_url)
33
- end
34
-
35
- def username
36
- @username
37
- end
38
-
39
- def password
40
- @password
41
- end
42
-
43
-
44
- def auth_header
45
- auth_header ||= 'Basic ' + Base64.encode64("#{@username}:#{@password}").gsub("\n",'')
46
- end
47
-
48
- def request(params, parse_json = true, &block)
49
- begin
50
- response = @connection.request(params.merge!({
51
- :headers => {
52
- 'Authorization' => auth_header,
53
- 'X-ID-TENANT-NAME' => @identity_domain,
54
- 'Content-Type' => 'application/json',
55
- #'Accept' => 'application/json'
56
- }.merge!(params[:headers] || {})
57
- }), &block)
58
- rescue Excon::Errors::HTTPStatusError => error
59
- raise case error
60
- when Excon::Errors::NotFound
61
- Fog::OracleCloud::Java::NotFound.slurp(error)
62
- else
63
- error
64
- end
65
- end
66
- if !response.body.empty? && parse_json
67
- # The Oracle Cloud doesn't return the Content-Type header as application/json, rather as application/vnd.com.oracle.oracloud.provisioning.Pod+json
68
- # Should add check here to validate, but not sure if this might change in future
69
- response.body = Fog::JSON.decode(response.body)
70
- end
71
- response
72
- end
73
- end
74
-
75
- class Mock
76
- def initialize(options={})
77
- @username = options[:oracle_username]
78
- @password = options[:oracle_password]
79
- @identity_domain = options[:oracle_domain]
80
- @region_url = options[:oracle_region] == 'emea' ? 'https://jcs.emea.oraclecloud.com' : 'https://jaas.oraclecloud.com'
81
- end
82
-
83
- def username
84
- @username
85
- end
86
-
87
- def password
88
- @password
89
- end
90
-
91
- def region_url
92
- @region_url
93
- end
94
-
95
- def self.data
96
- @data ||= {
97
- :instances => {},
98
- :servers => {},
99
- :maintenance_at => {},
100
- :deleted_at => {},
101
- :created_at => {}
102
- }
103
- end
104
-
105
- def self.reset
106
- @data = nil
107
- end
108
-
109
- def data
110
- self.class.data
111
- end
112
- end
113
- end
114
- end
115
- end
1
+ module Fog
2
+ module OracleCloud
3
+ class Java < Fog::Service
4
+ requires :oracle_username, :oracle_password, :oracle_domain
5
+ recognizes :oracle_region
6
+
7
+ model_path 'fog/oraclecloud/models/java'
8
+ model :instance
9
+ collection :instances
10
+ model :server
11
+ collection :servers
12
+ model :access_rule
13
+ collection :access_rules
14
+
15
+ request_path 'fog/oraclecloud/requests/java'
16
+ request :list_instances
17
+ request :create_instance
18
+ request :get_instance
19
+ request :delete_instance
20
+ request :list_servers
21
+ request :get_server
22
+ request :scale_out_a_cluster
23
+ request :scale_in_a_cluster
24
+ request :scale_a_node
25
+
26
+ request :list_access_rules
27
+ request :create_access_rule
28
+ request :delete_access_rule
29
+ request :enable_access_rule
30
+
31
+ class Real
32
+
33
+ def initialize(options={})
34
+ @username = options[:oracle_username]
35
+ @password = options[:oracle_password]
36
+ @identity_domain = options[:oracle_domain]
37
+ region_url = options[:oracle_region] == 'emea' ? 'https://jcs.emea.oraclecloud.com' : 'https://jaas.oraclecloud.com'
38
+ Excon.ssl_verify_peer = false
39
+ @connection = Fog::XML::Connection.new(region_url)
40
+ end
41
+
42
+ def username
43
+ @username
44
+ end
45
+
46
+ def password
47
+ @password
48
+ end
49
+
50
+
51
+ def auth_header
52
+ auth_header ||= 'Basic ' + Base64.encode64("#{@username}:#{@password}").gsub("\n",'')
53
+ end
54
+
55
+ def request(params, parse_json = true, &block)
56
+ begin
57
+ response = @connection.request(params.merge!({
58
+ :headers => {
59
+ 'Authorization' => auth_header,
60
+ 'X-ID-TENANT-NAME' => @identity_domain,
61
+ 'Content-Type' => 'application/json',
62
+ #'Accept' => 'application/json'
63
+ }.merge!(params[:headers] || {})
64
+ }), &block)
65
+ rescue Excon::Errors::HTTPStatusError => error
66
+ raise case error
67
+ when Excon::Errors::NotFound
68
+ Fog::OracleCloud::Java::NotFound.slurp(error)
69
+ else
70
+ error
71
+ end
72
+ end
73
+ if !response.body.empty? && parse_json
74
+ # The Oracle Cloud doesn't return the Content-Type header as application/json, rather as application/vnd.com.oracle.oracloud.provisioning.Pod+json
75
+ # Should add check here to validate, but not sure if this might change in future
76
+ response.body = Fog::JSON.decode(response.body)
77
+ end
78
+ response
79
+ end
80
+ end
81
+
82
+ class Mock
83
+ def initialize(options={})
84
+ @username = options[:oracle_username]
85
+ @password = options[:oracle_password]
86
+ @identity_domain = options[:oracle_domain]
87
+ @region_url = options[:oracle_region] == 'emea' ? 'https://jcs.emea.oraclecloud.com' : 'https://jaas.oraclecloud.com'
88
+ end
89
+
90
+ def username
91
+ @username
92
+ end
93
+
94
+ def password
95
+ @password
96
+ end
97
+
98
+ def region_url
99
+ @region_url
100
+ end
101
+
102
+ def self.data
103
+ @data ||= {
104
+ :instances => {},
105
+ :servers => {},
106
+ :access_rules => {},
107
+ :maintenance_at => {},
108
+ :deleted_at => {},
109
+ :created_at => {}
110
+ }
111
+ end
112
+
113
+ def self.reset
114
+ @data = nil
115
+ end
116
+
117
+ def data
118
+ self.class.data
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end