Class: CumulogicClient::Nosql
- Inherits:
-
Object
- Object
- CumulogicClient::Nosql
- Defined in:
- lib/cumulogic_client/nosql.rb
Constant Summary collapse
- NoSQLSpec =
Class.new do attr_accessor :name attr_accessor :description attr_accessor :nodes attr_accessor :collectionName attr_accessor :characterSet attr_accessor :port attr_accessor :noSqlEngineId attr_accessor :targetCloudId attr_accessor :availabilityZoneName attr_accessor :instanceTypeId attr_accessor :serviceTag attr_accessor :accessGroupId attr_accessor :noSqlParamGroupId attr_accessor :storageSize attr_accessor :isbackupPreferenceSet attr_accessor :isAutoUpdateEnabled attr_accessor :backupRetentionPeriod attr_accessor :backupStartTime attr_accessor :ownerType attr_accessor :isAvailabilityZoneMandatory attr_accessor :isInstanceTypeMandatory attr_accessor :availabilityZone attr_accessor :isVolumeSizeMandatory attr_accessor :backupRetentionPeriod attr_accessor :backupStartTime attr_accessor :start def to_hash Hash[*instance_variables.map { |v| [v.to_s().tr("@", ""), instance_variable_get(v)] }.flatten] end end
Instance Method Summary collapse
- #create(spec, wait = true) ⇒ Object
- #delete(instanceId) ⇒ Object
- #engine_list ⇒ Object
- #events(instanceId) ⇒ Object
- #get(instanceId) ⇒ Object
- #get_serviceplans(createdBy, serviceType) ⇒ Object
-
#initialize(api_url, username, password, use_ssl = nil, debug = false) ⇒ Nosql
constructor
A new instance of Nosql.
- #isComplete ⇒ Object
- #list ⇒ Object
- #terminate(instanceId) ⇒ Object
- #wrapParam(instanceId) ⇒ Object
Constructor Details
#initialize(api_url, username, password, use_ssl = nil, debug = false) ⇒ Nosql
Returns a new instance of Nosql.
17 18 19 |
# File 'lib/cumulogic_client/nosql.rb', line 17 def initialize(api_url, username, password, use_ssl=nil, debug=false) @client = CumulogicClient::BaseClient.new(api_url, username, password, use_ssl, debug) end |
Instance Method Details
#create(spec, wait = true) ⇒ Object
51 52 53 54 55 56 |
# File 'lib/cumulogic_client/nosql.rb', line 51 def create(spec, wait=true) response = @client.call('nosql/instance/createNoSqlInstance', spec.to_hash) @newInstanceId = response[0]['noSqlInstanceId'] @client.provisioning_completed(self, 30) if wait return @newInstanceId end |
#delete(instanceId) ⇒ Object
47 48 49 |
# File 'lib/cumulogic_client/nosql.rb', line 47 def delete(instanceId) return @client.call('nosql/instance/deleteNoSqlInstance', wrapParam(instanceId)) end |
#engine_list ⇒ Object
21 22 23 |
# File 'lib/cumulogic_client/nosql.rb', line 21 def engine_list() return @client.call('nosql/nosqlengine/list') end |
#events(instanceId) ⇒ Object
33 34 35 |
# File 'lib/cumulogic_client/nosql.rb', line 33 def events(instanceId) return @client.call('nosql/instance/showEvents', wrapParams(instanceId)) end |
#get(instanceId) ⇒ Object
29 30 31 |
# File 'lib/cumulogic_client/nosql.rb', line 29 def get(instanceId) return @client.call('nosql/instance/getAllHostByNoSqlInstanceID', wrapParam(instanceId)) end |
#get_serviceplans(createdBy, serviceType) ⇒ Object
58 59 60 |
# File 'lib/cumulogic_client/nosql.rb', line 58 def get_serviceplans(createdBy, serviceType) @client.get_serviceplans(createdBy, serviceType) end |
#isComplete ⇒ Object
62 63 64 65 66 67 68 69 |
# File 'lib/cumulogic_client/nosql.rb', line 62 def isComplete() instances = self.list() puts instances target = instances.select { |id| id["noSqlInstanceId"] = @newInstanceId } return false if (target[0]["status"] == 2) raise RuntimeError, "Error provisioning instance: #{target[0]["errorMessage"]}" if (target[0]["status"] == 3) return true end |
#list ⇒ Object
25 26 27 |
# File 'lib/cumulogic_client/nosql.rb', line 25 def list() return @client.call('nosql/instance/list') end |
#terminate(instanceId) ⇒ Object
43 44 45 |
# File 'lib/cumulogic_client/nosql.rb', line 43 def terminate(instanceId) return @client.call('nosql/instance/terminateNoSqlInstance', wrapParam(instanceId)) end |
#wrapParam(instanceId) ⇒ Object
37 38 39 40 41 |
# File 'lib/cumulogic_client/nosql.rb', line 37 def wrapParam(instanceId) { 'noSqlInstanceId' => instanceId } end |