oraclebmc 1.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 (141) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +82 -0
  3. data/README.md +220 -0
  4. data/lib/oraclebmc/api_client.rb +349 -0
  5. data/lib/oraclebmc/config.rb +80 -0
  6. data/lib/oraclebmc/config_file_loader.rb +85 -0
  7. data/lib/oraclebmc/core/blockstorage_client.rb +459 -0
  8. data/lib/oraclebmc/core/compute_client.rb +1053 -0
  9. data/lib/oraclebmc/core/core.rb +82 -0
  10. data/lib/oraclebmc/core/models/attach_i_scsi_volume_details.rb +179 -0
  11. data/lib/oraclebmc/core/models/attach_volume_details.rb +206 -0
  12. data/lib/oraclebmc/core/models/capture_console_history_details.rb +162 -0
  13. data/lib/oraclebmc/core/models/console_history.rb +252 -0
  14. data/lib/oraclebmc/core/models/cpe.rb +209 -0
  15. data/lib/oraclebmc/core/models/create_cpe_details.rb +187 -0
  16. data/lib/oraclebmc/core/models/create_dhcp_details.rb +195 -0
  17. data/lib/oraclebmc/core/models/create_drg_attachment_details.rb +184 -0
  18. data/lib/oraclebmc/core/models/create_drg_details.rb +173 -0
  19. data/lib/oraclebmc/core/models/create_image_details.rb +188 -0
  20. data/lib/oraclebmc/core/models/create_internet_gateway_details.rb +195 -0
  21. data/lib/oraclebmc/core/models/create_ip_sec_connection_details.rb +210 -0
  22. data/lib/oraclebmc/core/models/create_route_table_details.rb +195 -0
  23. data/lib/oraclebmc/core/models/create_security_list_details.rb +206 -0
  24. data/lib/oraclebmc/core/models/create_subnet_details.rb +253 -0
  25. data/lib/oraclebmc/core/models/create_vcn_details.rb +187 -0
  26. data/lib/oraclebmc/core/models/create_volume_backup_details.rb +173 -0
  27. data/lib/oraclebmc/core/models/create_volume_details.rb +211 -0
  28. data/lib/oraclebmc/core/models/dhcp_dns_option.rb +203 -0
  29. data/lib/oraclebmc/core/models/dhcp_option.rb +171 -0
  30. data/lib/oraclebmc/core/models/dhcp_options.rb +246 -0
  31. data/lib/oraclebmc/core/models/drg.rb +224 -0
  32. data/lib/oraclebmc/core/models/drg_attachment.rb +246 -0
  33. data/lib/oraclebmc/core/models/egress_security_rule.rb +240 -0
  34. data/lib/oraclebmc/core/models/i_scsi_volume_attachment.rb +254 -0
  35. data/lib/oraclebmc/core/models/icmp_options.rb +173 -0
  36. data/lib/oraclebmc/core/models/image.rb +282 -0
  37. data/lib/oraclebmc/core/models/ingress_security_rule.rb +240 -0
  38. data/lib/oraclebmc/core/models/instance.rb +326 -0
  39. data/lib/oraclebmc/core/models/internet_gateway.rb +248 -0
  40. data/lib/oraclebmc/core/models/ip_sec_connection.rb +261 -0
  41. data/lib/oraclebmc/core/models/ip_sec_connection_device_config.rb +195 -0
  42. data/lib/oraclebmc/core/models/ip_sec_connection_device_status.rb +198 -0
  43. data/lib/oraclebmc/core/models/launch_instance_details.rb +327 -0
  44. data/lib/oraclebmc/core/models/port_range.rb +175 -0
  45. data/lib/oraclebmc/core/models/route_rule.rb +177 -0
  46. data/lib/oraclebmc/core/models/route_table.rb +246 -0
  47. data/lib/oraclebmc/core/models/security_list.rb +257 -0
  48. data/lib/oraclebmc/core/models/shape.rb +164 -0
  49. data/lib/oraclebmc/core/models/subnet.rb +325 -0
  50. data/lib/oraclebmc/core/models/tcp_options.rb +177 -0
  51. data/lib/oraclebmc/core/models/tunnel_config.rb +193 -0
  52. data/lib/oraclebmc/core/models/tunnel_status.rb +218 -0
  53. data/lib/oraclebmc/core/models/udp_options.rb +177 -0
  54. data/lib/oraclebmc/core/models/update_cpe_details.rb +162 -0
  55. data/lib/oraclebmc/core/models/update_dhcp_details.rb +172 -0
  56. data/lib/oraclebmc/core/models/update_drg_attachment_details.rb +162 -0
  57. data/lib/oraclebmc/core/models/update_drg_details.rb +162 -0
  58. data/lib/oraclebmc/core/models/update_image_details.rb +165 -0
  59. data/lib/oraclebmc/core/models/update_instance_details.rb +165 -0
  60. data/lib/oraclebmc/core/models/update_internet_gateway_details.rb +173 -0
  61. data/lib/oraclebmc/core/models/update_ip_sec_connection_details.rb +162 -0
  62. data/lib/oraclebmc/core/models/update_route_table_details.rb +173 -0
  63. data/lib/oraclebmc/core/models/update_security_list_details.rb +184 -0
  64. data/lib/oraclebmc/core/models/update_subnet_details.rb +162 -0
  65. data/lib/oraclebmc/core/models/update_vcn_details.rb +162 -0
  66. data/lib/oraclebmc/core/models/update_volume_backup_details.rb +162 -0
  67. data/lib/oraclebmc/core/models/update_volume_details.rb +163 -0
  68. data/lib/oraclebmc/core/models/vcn.rb +272 -0
  69. data/lib/oraclebmc/core/models/vnic.rb +274 -0
  70. data/lib/oraclebmc/core/models/vnic_attachment.rb +271 -0
  71. data/lib/oraclebmc/core/models/volume.rb +249 -0
  72. data/lib/oraclebmc/core/models/volume_attachment.rb +284 -0
  73. data/lib/oraclebmc/core/models/volume_backup.rb +273 -0
  74. data/lib/oraclebmc/core/util.rb +1 -0
  75. data/lib/oraclebmc/core/virtual_network_client.rb +2263 -0
  76. data/lib/oraclebmc/errors.rb +62 -0
  77. data/lib/oraclebmc/global_context.rb +21 -0
  78. data/lib/oraclebmc/identity/identity.rb +38 -0
  79. data/lib/oraclebmc/identity/identity_client.rb +1462 -0
  80. data/lib/oraclebmc/identity/models/add_user_to_group_details.rb +173 -0
  81. data/lib/oraclebmc/identity/models/api_key.rb +251 -0
  82. data/lib/oraclebmc/identity/models/availability_domain.rb +173 -0
  83. data/lib/oraclebmc/identity/models/compartment.rb +251 -0
  84. data/lib/oraclebmc/identity/models/create_api_key_details.rb +162 -0
  85. data/lib/oraclebmc/identity/models/create_compartment_details.rb +187 -0
  86. data/lib/oraclebmc/identity/models/create_group_details.rb +186 -0
  87. data/lib/oraclebmc/identity/models/create_policy_details.rb +215 -0
  88. data/lib/oraclebmc/identity/models/create_swift_password_details.rb +163 -0
  89. data/lib/oraclebmc/identity/models/create_user_details.rb +186 -0
  90. data/lib/oraclebmc/identity/models/group.rb +251 -0
  91. data/lib/oraclebmc/identity/models/policy.rb +277 -0
  92. data/lib/oraclebmc/identity/models/swift_password.rb +266 -0
  93. data/lib/oraclebmc/identity/models/ui_password.rb +227 -0
  94. data/lib/oraclebmc/identity/models/update_compartment_details.rb +162 -0
  95. data/lib/oraclebmc/identity/models/update_group_details.rb +162 -0
  96. data/lib/oraclebmc/identity/models/update_policy_details.rb +190 -0
  97. data/lib/oraclebmc/identity/models/update_state_details.rb +163 -0
  98. data/lib/oraclebmc/identity/models/update_swift_password_details.rb +162 -0
  99. data/lib/oraclebmc/identity/models/update_user_details.rb +162 -0
  100. data/lib/oraclebmc/identity/models/user.rb +257 -0
  101. data/lib/oraclebmc/identity/models/user_group_membership.rb +249 -0
  102. data/lib/oraclebmc/identity/util.rb +1 -0
  103. data/lib/oraclebmc/load_balancer/load_balancer.rb +45 -0
  104. data/lib/oraclebmc/load_balancer/load_balancer_client.rb +1218 -0
  105. data/lib/oraclebmc/load_balancer/models/backend.rb +262 -0
  106. data/lib/oraclebmc/load_balancer/models/backend_details.rb +248 -0
  107. data/lib/oraclebmc/load_balancer/models/backend_set.rb +211 -0
  108. data/lib/oraclebmc/load_balancer/models/backend_set_details.rb +197 -0
  109. data/lib/oraclebmc/load_balancer/models/certificate.rb +209 -0
  110. data/lib/oraclebmc/load_balancer/models/certificate_details.rb +245 -0
  111. data/lib/oraclebmc/load_balancer/models/create_backend_details.rb +248 -0
  112. data/lib/oraclebmc/load_balancer/models/create_backend_set_details.rb +210 -0
  113. data/lib/oraclebmc/load_balancer/models/create_certificate_details.rb +245 -0
  114. data/lib/oraclebmc/load_balancer/models/create_listener_details.rb +216 -0
  115. data/lib/oraclebmc/load_balancer/models/create_load_balancer_details.rb +233 -0
  116. data/lib/oraclebmc/load_balancer/models/health_checker.rb +265 -0
  117. data/lib/oraclebmc/load_balancer/models/health_checker_details.rb +264 -0
  118. data/lib/oraclebmc/load_balancer/models/ip_address.rb +165 -0
  119. data/lib/oraclebmc/load_balancer/models/listener.rb +216 -0
  120. data/lib/oraclebmc/load_balancer/models/listener_details.rb +202 -0
  121. data/lib/oraclebmc/load_balancer/models/load_balancer.rb +296 -0
  122. data/lib/oraclebmc/load_balancer/models/load_balancer_policy.rb +162 -0
  123. data/lib/oraclebmc/load_balancer/models/load_balancer_protocol.rb +162 -0
  124. data/lib/oraclebmc/load_balancer/models/load_balancer_shape.rb +162 -0
  125. data/lib/oraclebmc/load_balancer/models/ssl_configuration.rb +195 -0
  126. data/lib/oraclebmc/load_balancer/models/ssl_configuration_details.rb +195 -0
  127. data/lib/oraclebmc/load_balancer/models/update_backend_details.rb +220 -0
  128. data/lib/oraclebmc/load_balancer/models/update_backend_set_details.rb +197 -0
  129. data/lib/oraclebmc/load_balancer/models/update_health_checker_details.rb +263 -0
  130. data/lib/oraclebmc/load_balancer/models/update_listener_details.rb +202 -0
  131. data/lib/oraclebmc/load_balancer/models/update_load_balancer_details.rb +165 -0
  132. data/lib/oraclebmc/load_balancer/models/work_request.rb +269 -0
  133. data/lib/oraclebmc/load_balancer/models/work_request_error.rb +185 -0
  134. data/lib/oraclebmc/load_balancer/util.rb +55 -0
  135. data/lib/oraclebmc/regions.rb +41 -0
  136. data/lib/oraclebmc/response.rb +86 -0
  137. data/lib/oraclebmc/signer.rb +119 -0
  138. data/lib/oraclebmc/version.rb +5 -0
  139. data/lib/oraclebmc/waiter.rb +111 -0
  140. data/lib/oraclebmc.rb +20 -0
  141. metadata +265 -0
@@ -0,0 +1,119 @@
1
+ # Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'base64'
4
+ require 'digest'
5
+ require 'openssl'
6
+ require 'securerandom'
7
+ require 'time'
8
+ require 'uri'
9
+ require 'cgi'
10
+
11
+ module OracleBMC
12
+
13
+ # Used to sign HTTP requests as required by Oracle Bare Metal Cloud services.
14
+ class Signer
15
+
16
+ # The Oracle Bare Metal Cloud Services API signature version
17
+ SIGNATURE_VERSION = "1"
18
+
19
+ # Creates a Signer
20
+ #
21
+ # @param [String] user OCID of the user to be used for authentication, for example "ocidv1:user:oc1:phx:1460406592659:aaaaaaaawcbqrkycbolrirg2n3xjl5fyxe".
22
+ # @param [String] fingerprint Fingerprint of the key used for authentication, for example "20:3b:97:13:55:1c:5b:0d:d3:37:d8:50:4e:c5:3a:34"
23
+ # @param [String] tenancy OCID of the tenancy
24
+ # @param [String] private_key_file Full path and filename of the unencrypted PEM file, for example "/Users/bgustafs/.ssh/id_rsa.pem"
25
+ # @param [String] pass_phrase Optional pass phrase used to encrypt the private key
26
+ def initialize(user, fingerprint, tenancy, private_key_file, pass_phrase:nil)
27
+ fail 'Missing required parameter user.' unless user
28
+ fail 'Missing required parameter fingerprint.' unless fingerprint
29
+ fail 'Missing required parameter tenancy.' unless tenancy
30
+ fail 'Missing required parameter private_key_file.' unless private_key_file
31
+
32
+ @key_id = tenancy + "/" + user + "/" + fingerprint
33
+ @private_key_file = private_key_file
34
+ @pass_phrase = pass_phrase
35
+ end
36
+
37
+ # Generates the correct signature and adds it to the
38
+ # headers that are passed in. Also injects any required
39
+ # headers that might be missing.
40
+ #
41
+ # @param [Symbol] method The HTTP method, such as :get or :post.
42
+ # @param [String] uri The URI, such as 'https://iaas.us-phoenix-1.oraclecloud.com/20160918/volumeAttachments/'
43
+ # @param [Hash] headers A hash of headers
44
+ # @param [String] body The request body
45
+ def sign(method, uri, headers, body)
46
+ method = method.to_sym.downcase
47
+ uri = URI(uri)
48
+ path = uri.query.nil? ? uri.path : "#{uri.path}?#{uri.query}"
49
+ inject_missing_headers(method, headers, body, uri)
50
+ signature = compute_signature(headers, method, path)
51
+ unless signature.nil?
52
+ inject_authorization_header(headers, method, signature)
53
+ end
54
+ end
55
+
56
+ private
57
+
58
+ GENERIC_HEADERS = [:"date", :"(request-target)", :"host"]
59
+ BODY_HEADERS = [:"content-length", :"content-type", :"x-content-sha256"]
60
+
61
+ OPERATION_HEADER_MAPPING = {
62
+ options: [],
63
+ get: GENERIC_HEADERS,
64
+ head: GENERIC_HEADERS,
65
+ delete: GENERIC_HEADERS,
66
+ put: GENERIC_HEADERS + BODY_HEADERS,
67
+ post: GENERIC_HEADERS + BODY_HEADERS
68
+ }
69
+
70
+ def inject_missing_headers(method, headers, body, uri)
71
+ headers["date"] ||= Time.now.utc.httpdate
72
+ headers["content-type"] ||= "application/json"
73
+ headers["accept"] ||= "*/*"
74
+ headers["host"] ||= uri.host
75
+
76
+ if method == :put || method == :post
77
+ body ||= ''
78
+ headers["content-length"] ||= body.length.to_s
79
+ headers["x-content-sha256"] ||= Digest::SHA256.base64digest(body)
80
+ end
81
+ end
82
+
83
+ def inject_authorization_header(headers, method, signature)
84
+ signed_headers = OPERATION_HEADER_MAPPING[method].map(&:to_s).join(" ")
85
+ headers["authorization"] = [
86
+ %(Signature headers="#{signed_headers}"),
87
+ %(keyId="#{@key_id}"),
88
+ %(algorithm="rsa-sha256"),
89
+ %(signature="#{signature}"),
90
+ %(version="#{SIGNATURE_VERSION}")
91
+ ].join(",")
92
+ end
93
+
94
+ def compute_signature(headers, method, path)
95
+ return if OPERATION_HEADER_MAPPING[method].empty?
96
+ signing_string = OPERATION_HEADER_MAPPING[method].map do |header|
97
+ if header == :"(request-target)"
98
+ "#{header}: #{method.downcase} #{path}"
99
+ else
100
+ "#{header}: #{headers[header.to_s]}"
101
+ end
102
+ end.join("\n")
103
+
104
+ signature = private_key.sign(OpenSSL::Digest::SHA256.new, signing_string.encode("ascii"))
105
+ Base64.strict_encode64(signature)
106
+ end
107
+
108
+ def private_key
109
+ # If a pass_phase was not provided and the key is in fact encrypted, then passing in
110
+ # nil for the passphrase here will show a user prompt and block until there is a response.
111
+ # Passing in an empty string will work for some versions of Ruby's openssl wrapper, but
112
+ # other versions will enforce the 4 character password minimum at this point. Passing in
113
+ # a dummy password that's greater than 4 characters avoids both problems, and will
114
+ # always succeed if the file is not encrypted.
115
+ @private_key ||= OpenSSL::PKey::RSA.new(File.read(@private_key_file), @pass_phrase || SecureRandom.uuid)
116
+ end
117
+ end
118
+
119
+ end
@@ -0,0 +1,5 @@
1
+ # Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OracleBMC
4
+ VERSION = "1.1.1"
5
+ end
@@ -0,0 +1,111 @@
1
+ # Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
2
+
3
+ module OracleBMC
4
+ module Waiter
5
+ module Errors
6
+ # Raised when a call to wait_until reaches the maximum wait time.
7
+ class MaximumWaitTimeExceededError < RuntimeError; end
8
+
9
+ # Raised when wait_until is called on a response that does not
10
+ # support waiters. Typically, waiters are only supported for
11
+ # get operations.
12
+ class WaitUntilNotSupportedError < RuntimeError; end
13
+
14
+ # If thrown from the yield statement of a waiter, it will cause the
15
+ # waiter to fail with this exception.
16
+ class WaiterFailedError < RuntimeError; end
17
+ end
18
+ end
19
+
20
+ class Response
21
+
22
+ # Wait until the value of the given property in the response data has
23
+ # the given value. This will block the current thread until the
24
+ # the desired state is reached, the maximum wait time is reached, or the
25
+ # optional yield block throws :stop_succeed or :stop_fail. This is only
26
+ # supported for responses resulting from GET operations. A typical use
27
+ # case is to wait on an instance until it is in a running state:
28
+ #
29
+ # compute_client.get_instance(@instance_id).wait_until(:lifecycle_state, OracleBMC::Core::Models::Instance::LIFECYCLE_STATE_RUNNING)
30
+ #
31
+ # Although this can be run on any property of the data resulting from any
32
+ # GET operation, the most common use case is to check state properties on
33
+ # operations that GET a single object.
34
+ #
35
+ # The wait will poll at an increasing interval up to 'max_interval_seconds'
36
+ # for a maximum total time of 'max_wait_seconds'. If the maximum time
37
+ # is exceeded, then it will raise a {OracleBMC::Waiter::Errors::MaximumWaitTimeExceededError}.
38
+ #
39
+ # On successful completion the final Response object will be returned. The
40
+ # original Response object will not be altered.
41
+ #
42
+ # If any responses result in an error, then the error will be thrown as normal
43
+ # resulting in the wait being aborted.
44
+ #
45
+ # @param [Symbol] property The property of the response data to evaluate. For example, :lifecycle_state.
46
+ # @param state The value of the property that will indicate successful completion of the wait.
47
+ # @param [Integer] max_interval_seconds The maximum interval between queries, in seconds.
48
+ # @param [Integer] max_wait_seconds The maximum time to wait, in seconds.
49
+ # @yieldparam [Response] response A response object for every additional successful call to the get request.
50
+ # Throw :stop_succeed from the yield to stop the waiter and return the current response.
51
+ # Throw :stop_fail from the yield to stop the waiter and throw a WaiterFailedError.
52
+ # @return [Response] The final response, which will contain the property in the specified state.
53
+ def wait_until(property, state, max_interval_seconds: 30, max_wait_seconds: 1200)
54
+ fail 'Cannot wait on a response without data.' unless self.data
55
+ fail 'Response data does not contain the given property.' unless self.data.methods.include? property
56
+
57
+ raise Waiter::Errors::WaitUntilNotSupportedError.new('wait_until is not supported by this response.') unless @api_call
58
+
59
+ response = self
60
+ count = 0
61
+ interval_seconds = 1
62
+ start_time = Time.now
63
+
64
+ while true
65
+ if response.data.send(property) == state
66
+ return response
67
+ end
68
+
69
+ elapsed_seconds = (Time.now - start_time).to_i
70
+
71
+ if elapsed_seconds + interval_seconds > max_wait_seconds
72
+ if max_wait_seconds > elapsed_seconds
73
+ # Make one last request right at the maximum wait time.
74
+ interval_seconds = max_wait_seconds - elapsed_seconds
75
+ else
76
+ raise Waiter::Errors::MaximumWaitTimeExceededError.new('Maximum wait time has been exceeded.')
77
+ end
78
+ end
79
+
80
+ sleep(interval_seconds)
81
+
82
+ interval_seconds *= 2
83
+ if interval_seconds > max_interval_seconds
84
+ interval_seconds = max_interval_seconds
85
+ end
86
+
87
+ response = @api_call.call(nil)
88
+
89
+ if block_given?
90
+ continue = false
91
+ catch(:stop_fail) {
92
+ catch(:stop_succeed) {
93
+ yield response
94
+ continue = true
95
+ }
96
+
97
+ if not continue
98
+ return response
99
+ end
100
+ }
101
+
102
+ if not continue
103
+ raise Waiter::Errors::WaiterFailedError
104
+ end
105
+ end
106
+ end
107
+
108
+ end
109
+
110
+ end
111
+ end
data/lib/oraclebmc.rb ADDED
@@ -0,0 +1,20 @@
1
+ # Copyright (c) 2016 Oracle and/or its affiliates. All rights reserved.
2
+
3
+ require 'oraclebmc/api_client'
4
+ require 'oraclebmc/config'
5
+ require 'oraclebmc/config_file_loader'
6
+ require 'oraclebmc/errors'
7
+ require 'oraclebmc/global_context'
8
+ require 'oraclebmc/regions'
9
+ require 'oraclebmc/response'
10
+ require 'oraclebmc/signer'
11
+ require 'oraclebmc/version'
12
+ require 'oraclebmc/waiter'
13
+
14
+ require 'oraclebmc/core/core'
15
+ require 'oraclebmc/identity/identity'
16
+ require 'oraclebmc/load_balancer/load_balancer'
17
+
18
+ # Top level module for the Oracle Bare Metal Cloud SDK
19
+ module OracleBMC
20
+ end
metadata ADDED
@@ -0,0 +1,265 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: oraclebmc
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Oracle
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-02-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: typhoeus
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.0.2
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.0'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.0.2
33
+ - !ruby/object:Gem::Dependency
34
+ name: json
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.4'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 1.4.6
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '1.4'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 1.4.6
53
+ - !ruby/object:Gem::Dependency
54
+ name: inifile
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '3.0'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 3.0.0
63
+ type: :runtime
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '3.0'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 3.0.0
73
+ - !ruby/object:Gem::Dependency
74
+ name: yard
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: 0.8.7.6
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.8.7.6
83
+ type: :development
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.8.7.6
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 0.8.7.6
93
+ description: Ruby SDK for Oracle Bare Metal Cloud Services.
94
+ email:
95
+ - joe.levy@oracle.com
96
+ executables: []
97
+ extensions: []
98
+ extra_rdoc_files: []
99
+ files:
100
+ - "./lib/oraclebmc.rb"
101
+ - "./lib/oraclebmc/api_client.rb"
102
+ - "./lib/oraclebmc/config.rb"
103
+ - "./lib/oraclebmc/config_file_loader.rb"
104
+ - "./lib/oraclebmc/core/blockstorage_client.rb"
105
+ - "./lib/oraclebmc/core/compute_client.rb"
106
+ - "./lib/oraclebmc/core/core.rb"
107
+ - "./lib/oraclebmc/core/models/attach_i_scsi_volume_details.rb"
108
+ - "./lib/oraclebmc/core/models/attach_volume_details.rb"
109
+ - "./lib/oraclebmc/core/models/capture_console_history_details.rb"
110
+ - "./lib/oraclebmc/core/models/console_history.rb"
111
+ - "./lib/oraclebmc/core/models/cpe.rb"
112
+ - "./lib/oraclebmc/core/models/create_cpe_details.rb"
113
+ - "./lib/oraclebmc/core/models/create_dhcp_details.rb"
114
+ - "./lib/oraclebmc/core/models/create_drg_attachment_details.rb"
115
+ - "./lib/oraclebmc/core/models/create_drg_details.rb"
116
+ - "./lib/oraclebmc/core/models/create_image_details.rb"
117
+ - "./lib/oraclebmc/core/models/create_internet_gateway_details.rb"
118
+ - "./lib/oraclebmc/core/models/create_ip_sec_connection_details.rb"
119
+ - "./lib/oraclebmc/core/models/create_route_table_details.rb"
120
+ - "./lib/oraclebmc/core/models/create_security_list_details.rb"
121
+ - "./lib/oraclebmc/core/models/create_subnet_details.rb"
122
+ - "./lib/oraclebmc/core/models/create_vcn_details.rb"
123
+ - "./lib/oraclebmc/core/models/create_volume_backup_details.rb"
124
+ - "./lib/oraclebmc/core/models/create_volume_details.rb"
125
+ - "./lib/oraclebmc/core/models/dhcp_dns_option.rb"
126
+ - "./lib/oraclebmc/core/models/dhcp_option.rb"
127
+ - "./lib/oraclebmc/core/models/dhcp_options.rb"
128
+ - "./lib/oraclebmc/core/models/drg.rb"
129
+ - "./lib/oraclebmc/core/models/drg_attachment.rb"
130
+ - "./lib/oraclebmc/core/models/egress_security_rule.rb"
131
+ - "./lib/oraclebmc/core/models/i_scsi_volume_attachment.rb"
132
+ - "./lib/oraclebmc/core/models/icmp_options.rb"
133
+ - "./lib/oraclebmc/core/models/image.rb"
134
+ - "./lib/oraclebmc/core/models/ingress_security_rule.rb"
135
+ - "./lib/oraclebmc/core/models/instance.rb"
136
+ - "./lib/oraclebmc/core/models/internet_gateway.rb"
137
+ - "./lib/oraclebmc/core/models/ip_sec_connection.rb"
138
+ - "./lib/oraclebmc/core/models/ip_sec_connection_device_config.rb"
139
+ - "./lib/oraclebmc/core/models/ip_sec_connection_device_status.rb"
140
+ - "./lib/oraclebmc/core/models/launch_instance_details.rb"
141
+ - "./lib/oraclebmc/core/models/port_range.rb"
142
+ - "./lib/oraclebmc/core/models/route_rule.rb"
143
+ - "./lib/oraclebmc/core/models/route_table.rb"
144
+ - "./lib/oraclebmc/core/models/security_list.rb"
145
+ - "./lib/oraclebmc/core/models/shape.rb"
146
+ - "./lib/oraclebmc/core/models/subnet.rb"
147
+ - "./lib/oraclebmc/core/models/tcp_options.rb"
148
+ - "./lib/oraclebmc/core/models/tunnel_config.rb"
149
+ - "./lib/oraclebmc/core/models/tunnel_status.rb"
150
+ - "./lib/oraclebmc/core/models/udp_options.rb"
151
+ - "./lib/oraclebmc/core/models/update_cpe_details.rb"
152
+ - "./lib/oraclebmc/core/models/update_dhcp_details.rb"
153
+ - "./lib/oraclebmc/core/models/update_drg_attachment_details.rb"
154
+ - "./lib/oraclebmc/core/models/update_drg_details.rb"
155
+ - "./lib/oraclebmc/core/models/update_image_details.rb"
156
+ - "./lib/oraclebmc/core/models/update_instance_details.rb"
157
+ - "./lib/oraclebmc/core/models/update_internet_gateway_details.rb"
158
+ - "./lib/oraclebmc/core/models/update_ip_sec_connection_details.rb"
159
+ - "./lib/oraclebmc/core/models/update_route_table_details.rb"
160
+ - "./lib/oraclebmc/core/models/update_security_list_details.rb"
161
+ - "./lib/oraclebmc/core/models/update_subnet_details.rb"
162
+ - "./lib/oraclebmc/core/models/update_vcn_details.rb"
163
+ - "./lib/oraclebmc/core/models/update_volume_backup_details.rb"
164
+ - "./lib/oraclebmc/core/models/update_volume_details.rb"
165
+ - "./lib/oraclebmc/core/models/vcn.rb"
166
+ - "./lib/oraclebmc/core/models/vnic.rb"
167
+ - "./lib/oraclebmc/core/models/vnic_attachment.rb"
168
+ - "./lib/oraclebmc/core/models/volume.rb"
169
+ - "./lib/oraclebmc/core/models/volume_attachment.rb"
170
+ - "./lib/oraclebmc/core/models/volume_backup.rb"
171
+ - "./lib/oraclebmc/core/util.rb"
172
+ - "./lib/oraclebmc/core/virtual_network_client.rb"
173
+ - "./lib/oraclebmc/errors.rb"
174
+ - "./lib/oraclebmc/global_context.rb"
175
+ - "./lib/oraclebmc/identity/identity.rb"
176
+ - "./lib/oraclebmc/identity/identity_client.rb"
177
+ - "./lib/oraclebmc/identity/models/add_user_to_group_details.rb"
178
+ - "./lib/oraclebmc/identity/models/api_key.rb"
179
+ - "./lib/oraclebmc/identity/models/availability_domain.rb"
180
+ - "./lib/oraclebmc/identity/models/compartment.rb"
181
+ - "./lib/oraclebmc/identity/models/create_api_key_details.rb"
182
+ - "./lib/oraclebmc/identity/models/create_compartment_details.rb"
183
+ - "./lib/oraclebmc/identity/models/create_group_details.rb"
184
+ - "./lib/oraclebmc/identity/models/create_policy_details.rb"
185
+ - "./lib/oraclebmc/identity/models/create_swift_password_details.rb"
186
+ - "./lib/oraclebmc/identity/models/create_user_details.rb"
187
+ - "./lib/oraclebmc/identity/models/group.rb"
188
+ - "./lib/oraclebmc/identity/models/policy.rb"
189
+ - "./lib/oraclebmc/identity/models/swift_password.rb"
190
+ - "./lib/oraclebmc/identity/models/ui_password.rb"
191
+ - "./lib/oraclebmc/identity/models/update_compartment_details.rb"
192
+ - "./lib/oraclebmc/identity/models/update_group_details.rb"
193
+ - "./lib/oraclebmc/identity/models/update_policy_details.rb"
194
+ - "./lib/oraclebmc/identity/models/update_state_details.rb"
195
+ - "./lib/oraclebmc/identity/models/update_swift_password_details.rb"
196
+ - "./lib/oraclebmc/identity/models/update_user_details.rb"
197
+ - "./lib/oraclebmc/identity/models/user.rb"
198
+ - "./lib/oraclebmc/identity/models/user_group_membership.rb"
199
+ - "./lib/oraclebmc/identity/util.rb"
200
+ - "./lib/oraclebmc/load_balancer/load_balancer.rb"
201
+ - "./lib/oraclebmc/load_balancer/load_balancer_client.rb"
202
+ - "./lib/oraclebmc/load_balancer/models/backend.rb"
203
+ - "./lib/oraclebmc/load_balancer/models/backend_details.rb"
204
+ - "./lib/oraclebmc/load_balancer/models/backend_set.rb"
205
+ - "./lib/oraclebmc/load_balancer/models/backend_set_details.rb"
206
+ - "./lib/oraclebmc/load_balancer/models/certificate.rb"
207
+ - "./lib/oraclebmc/load_balancer/models/certificate_details.rb"
208
+ - "./lib/oraclebmc/load_balancer/models/create_backend_details.rb"
209
+ - "./lib/oraclebmc/load_balancer/models/create_backend_set_details.rb"
210
+ - "./lib/oraclebmc/load_balancer/models/create_certificate_details.rb"
211
+ - "./lib/oraclebmc/load_balancer/models/create_listener_details.rb"
212
+ - "./lib/oraclebmc/load_balancer/models/create_load_balancer_details.rb"
213
+ - "./lib/oraclebmc/load_balancer/models/health_checker.rb"
214
+ - "./lib/oraclebmc/load_balancer/models/health_checker_details.rb"
215
+ - "./lib/oraclebmc/load_balancer/models/ip_address.rb"
216
+ - "./lib/oraclebmc/load_balancer/models/listener.rb"
217
+ - "./lib/oraclebmc/load_balancer/models/listener_details.rb"
218
+ - "./lib/oraclebmc/load_balancer/models/load_balancer.rb"
219
+ - "./lib/oraclebmc/load_balancer/models/load_balancer_policy.rb"
220
+ - "./lib/oraclebmc/load_balancer/models/load_balancer_protocol.rb"
221
+ - "./lib/oraclebmc/load_balancer/models/load_balancer_shape.rb"
222
+ - "./lib/oraclebmc/load_balancer/models/ssl_configuration.rb"
223
+ - "./lib/oraclebmc/load_balancer/models/ssl_configuration_details.rb"
224
+ - "./lib/oraclebmc/load_balancer/models/update_backend_details.rb"
225
+ - "./lib/oraclebmc/load_balancer/models/update_backend_set_details.rb"
226
+ - "./lib/oraclebmc/load_balancer/models/update_health_checker_details.rb"
227
+ - "./lib/oraclebmc/load_balancer/models/update_listener_details.rb"
228
+ - "./lib/oraclebmc/load_balancer/models/update_load_balancer_details.rb"
229
+ - "./lib/oraclebmc/load_balancer/models/work_request.rb"
230
+ - "./lib/oraclebmc/load_balancer/models/work_request_error.rb"
231
+ - "./lib/oraclebmc/load_balancer/util.rb"
232
+ - "./lib/oraclebmc/regions.rb"
233
+ - "./lib/oraclebmc/response.rb"
234
+ - "./lib/oraclebmc/signer.rb"
235
+ - "./lib/oraclebmc/version.rb"
236
+ - "./lib/oraclebmc/waiter.rb"
237
+ - LICENSE.txt
238
+ - README.md
239
+ homepage: https://docs.us-phoenix-1.oraclecloud.com/tools/ruby/latest/frames.html
240
+ licenses:
241
+ - Universal Permissive License 1.0
242
+ - Apache License 2.0
243
+ metadata: {}
244
+ post_install_message:
245
+ rdoc_options: []
246
+ require_paths:
247
+ - lib
248
+ required_ruby_version: !ruby/object:Gem::Requirement
249
+ requirements:
250
+ - - ">="
251
+ - !ruby/object:Gem::Version
252
+ version: '0'
253
+ required_rubygems_version: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - ">="
256
+ - !ruby/object:Gem::Version
257
+ version: '0'
258
+ requirements: []
259
+ rubyforge_project:
260
+ rubygems_version: 2.4.5.1
261
+ signing_key:
262
+ specification_version: 4
263
+ summary: Oracle Bare Metal Cloud Services Ruby SDK
264
+ test_files: []
265
+ has_rdoc: